LIMIT ne fonctionne pas lorsque GET varie

Visiteur anonyme
Invité n'ayant pas de compte PHPfrance

10 août 2010, 16:45

Bonjour,

Alors voila j'ai decoupé l'affichage d'un listing en plusieurs pages. Sur la 1ere page tout va bien. Mais lorsque je vais sur la suivante il m'affiche toutes les entrés de la base...

Je ne comprend pas pourquoi !
$debut = $_GET['limitep'];
$fin = $debut + 20;
	$reponse = mysql_query("SELECT id, pseudo, recherche, derniertimestamp FROM qgjoueur WHERE id <> '0' ORDER BY recherche DESC LIMIT $debut,$fin");
[...]
if ($_GET['limitep'] != 0)
{
$limitep = $debut - 20;
echo'<a href="listejoueur.php?limitep='.$limitep.'" title="page precedente">Précedent</a> ' ;
}
$limitep = $debut + 20;
echo'<a href="listejoueur.php?limitep='.$limitep.'" title="Page suivante">Suivant</a>';
Merci

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

10 août 2010, 17:01

Il faut nous montrer le SQL généré pour comprendre.

:arrow: sql-bases-donnees/php-sql-etapes-suivre ... 19378.html

Visiteur anonyme
Invité n'ayant pas de compte PHPfrance

10 août 2010, 17:06

Aucun SQL est generé cela m'affiche mon listing mais sans prendre compte de la deuxieme valeur du LIMIT

ViPHP
ViPHP | 5462 Messages

10 août 2010, 17:15

Aucun SQL est generé cela m'affiche mon listing mais sans prendre compte de la deuxieme valeur du LIMIT
si celui de ta requete :
SELECT id, pseudo, recherche, derniertimestamp FROM qgjoueur WHERE id <> '0' ORDER BY recherche DESC LIMIT $debut,$fin
montre nous a quoi est égale cette chaine

Eléphant du PHP | 55 Messages

10 août 2010, 17:18

Bonjour,

"$fin = $debut + 20;"
Es-tu sûr de l'utilisation que tu fais du second argument de LIMIT ?

Un petit coup d'oeil sur la doc : http://dev.mysql.com/doc/refman/5.0/fr/select.html

Visiteur anonyme
Invité n'ayant pas de compte PHPfrance

10 août 2010, 19:05

Ah oui effectivement, une mauvaise compréhension de LIMIT est la cause de tout mes problemes.
Merci beaucoup