Posez votre question Signaler

PHP ! Pagination defaillante ! Petite erreur [Résolu]

dubuducu 389Messages postés 2 juin 2008Date d'inscription 19 mai 2010Dernière intervention - Dernière réponse le 3 juil. 2008 à 13:01
Bonjour,
Mon code me retourne de fausses valeurs, je ne sais pas a cause de quoi . pouvez vous m'aider merci ?
$entrees_par_page = 5; 
	
if(!isset($_GET['page'])){
        $page_courante = 1; // si aucune page n'existe dans l'URL, on attribue 1 à la page courante
    } else {
        $page = $_GET['page'];
        if ($page<1) $page_courante=1; // on ne peut avoir de page inférieure à 1 : dans ce cas la valeur par défaut est 1
        elseif ($page>$total_pages) $page_courante=$total_pages; // on ne peut avoir de page supérieure au nombre total de pages : dans ce cas la valeur par défaut est la dernière page
        else $page_courante=$page; // sinon la page courante est celle indiquée dans l'URL
    }
	
	
$start = ($page_courante * $entrees_par_page - $entrees_par_page);	
if ( ($a == 'null'))
{

	if ($b == 'null')
	{
	

	 $sql = "SELECT * FROM devis_table  WHERE sous_categorie = '" . $k . "' ORDER BY '" . $a ."' LIMIT $start, $entrees_par_page  "; 
	$result = mysql_query( $sql) or die( "Erreur : " . mysql_error() );
	$nb_entrees = mysql_num_rows($result);
	$total_pages = ceil($nb_entrees/$entrees_par_page);
	}
	else
	
	$sql = "SELECT * FROM devis_table  WHERE thematique_projet = '" . $b . "' ORDER BY '" . $a ."' LIMIT $start, $entrees_par_page  "; 
	$result = mysql_query( $sql) or die( "Erreur : " . mysql_error() ); 
	$nb_entrees = mysql_num_rows($result);
	$total_pages = ceil($nb_entrees/$entrees_par_page);	

	}
else
{

$sql = "SELECT * FROM devis_table  WHERE departement = '" . $a . "' AND thematique_projet = '" . $b . "' ORDER BY '" . $a ."' LIMIT $start, $entrees_par_page "; 
$result = mysql_query( $sql) or die( "Erreur : " . mysql_error() ); 
$nb_entrees = mysql_num_rows($result);
$total_pages = ceil($nb_entrees/$entrees_par_page);

}

echo "$start";echo "_";
echo "$entrees_par_page";echo "_";
echo "$total_pages";echo "_";
echo "$page_courante";
echo "_";
Lire la suite 

PHP ! Pagination defaillante ! Petite erreur »

4 réponses
Réponse
+0
moins plus
Bonjour,

Je crois déceler un problème au niveau du $nb_entrees = mysql_num_rows($result);
Il me semble que le nombre de ligne doit prendre globalement la requête et NON faire un Limit dessus .
Ajouter un commentaire
Réponse
+0
moins plus
c vrai que si je compte le nombre de ligne sur ma requete limitée ... hum !
que dois-je faire alors ?
Ajouter un commentaire
Réponse
+0
moins plus
Tu dois faire 2 requêtes :

Une avec un limit et une sans.
Ajouter un commentaire
Réponse
+0
moins plus
Exactment. Un grand Merci !!!
Ajouter un commentaire
Ce document intitulé « PHP ! Pagination defaillante ! Petite erreur » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?