Systeme de plusieurs pages :)

Systeme de plusieurs pages :) - PHP - Programmation

Marsh Posté le 23-02-2006 à 18:29:11    

Salut tout le monde !!
 
Voila je voudrais savoir comment il faudrait s'y prendre pour afficher, par exemple, seulement les 30 1ers membre avec un systme de page précédente/page suivante ?
 
Et peut ton mettre une requete avec un limit "dynamique" ?

Code :
  1. SELECT * FROM `membre` ORDER by `id` ASC LIMIT $i,$i_30


 
Merci par avance ;)

Reply

Marsh Posté le 23-02-2006 à 18:29:11   

Reply

Marsh Posté le 23-02-2006 à 18:39:03    

Pour Mysql : [:sh@rdar] http://dev.mysql.com/doc/refman/5.0/fr/select.html
le premier chiffre indique la position de la premiére ligne retourné et le second le nombre de lignes retourné.

Reply

Marsh Posté le 23-02-2006 à 18:39:41    

Bien entendu que tu peux ;)


---------------
Viendez sur le Newbie-Project et essayez le Newbie-Directory (nouveau)
Reply

Marsh Posté le 23-02-2006 à 19:34:13    

Code :
  1. $i = $_GET['i'];
  2. $i2 = $i + 30;
  3. $x = 0;
  4. $sql = "SELECT * FROM `membre` ORDER by `id` ASC LIMIT $i, $i2";


 
j'ai mit ca et ca me repond :

Code :
  1. You have an error in your SQL syntax near ' 30' at line 1


 
Vous savez pourquoi ?

Reply

Marsh Posté le 23-02-2006 à 20:37:26    

$sql = "SELECT * FROM `membre` ORDER by `id` ASC LIMIT " . $i . ", " . $i2;
 
???


Message édité par Siron le 23-02-2006 à 20:37:53
Reply

Marsh Posté le 23-02-2006 à 20:50:04    

titanhermes a écrit :

Code :
  1. $i = $_GET['i'];
  2. $i2 = $i + 30;
  3. $x = 0;
  4. $sql = "SELECT * FROM `membre` ORDER by `id` ASC LIMIT $i, $i2";


 
j'ai mit ca et ca me repond :

Code :
  1. You have an error in your SQL syntax near ' 30' at line 1


 
Vous savez pourquoi ?


 
ton erreur est a la ligne 1, donc c'est peut etre plus un probleme d'interpréteur php mal installé. ou alors tu as oublié les balises php :D
 
(sinon perso j'utilise $_REQUEST plus que $_GET, c'est plus simple )

Reply

Marsh Posté le 23-02-2006 à 21:20:45    

votes blancs > C'est à la ligne 1 de la requette vu que c'est un message de mysql et pas de php.
 
Siron > Le second nombre aprés le mot clé "limit" est le nombre de ligne qui sera retourné par la page. Si tu lui donnes $1+30 comme nombre de ligne alors mysql te retournera 30 lignes depuis la premiére si $i = 0, puis 60 lignes depuis la ligne 30 quand $i = 30, 90 lignes depuis la ligne 60 quand $i = 60 ...
Si tu veux le même nombre de ligne dans chaque page, il faut que le second chiffre soit toujours le même.
 
Quand au message d'erreur, t'es sur que $i contient un nombre?

Reply

Marsh Posté le 23-02-2006 à 21:34:03    

Oui je sais omega2  ;)  
 
Je propose juste de  pas integrer dans la requette mysql les variable php comme il le fait (mais ptre que c'est possible, mais alors je sais pas).

Reply

Marsh Posté le 23-02-2006 à 22:05:33    

omega2 a écrit :

votes blancs > C'est à la ligne 1 de la requette vu que c'est un message de mysql et pas de php.
 
Siron > Le second nombre aprés le mot clé "limit" est le nombre de ligne qui sera retourné par la page. Si tu lui donnes $1+30 comme nombre de ligne alors mysql te retournera 30 lignes depuis la premiére si $i = 0, puis 60 lignes depuis la ligne 30 quand $i = 30, 90 lignes depuis la ligne 60 quand $i = 60 ...
Si tu veux le même nombre de ligne dans chaque page, il faut que le second chiffre soit toujours le même.
 
Quand au message d'erreur, t'es sur que $i contient un nombre?


 
effectivement, y'a de tres grandes chances que $i soit vide, vu qu'il annonce une erreur "near 30". Si $i est une chaine ou est vide, sa valeur lors d'une opération arithmétique vaut 0.

Reply

Marsh Posté le 24-02-2006 à 21:22:39    

C'est bon merci beaucoup Omega2 et l'erreur c'est parceque $i ne contenanit pas de valeur ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed