ligne suivante et précédante -> Mysql - PHP - Programmation
Marsh Posté le 14-09-2004 à 16:12:27
ReplyMarsh Posté le 14-09-2004 à 16:16:23
SELECT * FROM tableX WHERE id='".$id-1."' OR id='".$id+1."'
Marsh Posté le 14-09-2004 à 16:21:38
Hmmm...
SELECT * FROM tableX WHERE id < '".$id."' ORDER BY id DESC LIMIT 1
SELECT * FROM tableX WHERE id > '".$id."' ORDER BY id ASC LIMIT 1
?
Marsh Posté le 14-09-2004 à 16:24:01
J'y avais vraiment pas du tout pensé !!!!!! (je suis burne)
Marsh Posté le 14-09-2004 à 16:30:09
Euh !
Et maintenant, si je désire afficher le numéro de l'entrée
( entrée x sur n )
Dois-je faire une requete SELECT count(*) FROM tableX
et une boucle while($a = mysql_fetch_array($res) && $a != $id) $x++; ?
Marsh Posté le 14-09-2004 à 16:31:38
heu non
select id from blablabla
apres un mysql_fetch_xxxx SANS boucle
et tu recupere l'id.
tu veut recuperer qu'un ID avant ET apres, c'est ca
Marsh Posté le 14-09-2004 à 16:09:41
C'est peut-être une question toute bête à première vue mais j'ai pas encore trouver d'astuce pour minimiser le code php !
1.
Imagions une table avec un champ ID en autoincrement, certaines entrées on peut-être été supprimées impliquant la non continuité dans les id.
2.
Une précédente requete me fourni un id du champ ID existant !
3.
Je souhaite sélectionner l'entrée juste avant l'entrée pointée par ID et l'ID située juste après celle pointée par ID
4. Comment faire ?
Ma première idée fut la suivante:
Mais faut quand même avouer que c'est le merdier !!!
Ne peut-on pas acceder au numéro de l'enregistrement ?
Message édité par kalios le 14-09-2004 à 16:22:39
---------------
.:coin:.