MySQL, séléctionner précédent/suivant
Posté : 06 mars 2007, 00:59
Hello tout le monde.
J'ai un peu cherché partout, mais rien trouvé. Je résume mon code à la partie qui m'intéresse.
J'explique : j'ai une table (rel), avec une colonne appelé "pos", avec des chiffres dedans : 1,2,3,4,5 etc... (chaque ligne a donc une position).
Maintenant pour l'affichage, je faisais toujours un :
Donc comment écrire ma requète SQL pour qu'il aille a la prochaine occurance de position, la 5 dans ce cas la. Et inversément pour la précédente.
(P.S. j'ai pensé faire un script avec des vérifications jusqu'a ce qu'il tombe sur la bonne valeur suivante/précédente, sachant que le "trou" peut être plus grand (genre on a : 1,2,3,6,7,8), mais je sens que ça va être assez lourd)
J'ai posté dans la partie base de donnée, car j'aimerais une requète SQL qui me fait ceci.
Donc si quelqu'un pouvait me donner un indice ce serait sympa, merci d'avance
J'ai un peu cherché partout, mais rien trouvé. Je résume mon code à la partie qui m'intéresse.
J'explique : j'ai une table (rel), avec une colonne appelé "pos", avec des chiffres dedans : 1,2,3,4,5 etc... (chaque ligne a donc une position).
Maintenant pour l'affichage, je faisais toujours un :
//Je reçois la position par un GET, je la stocke dans $pos
.
.
.
//J'affiche ce que je dois afficher pour cette position
.
.
$limiteprecedente = $pos - 1;
$select = "SELECT id_file FROM rel WHERE pos='$limiteprecedente'";
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$id_file_precedente = $row[0];
//Puis affichage du lien avec la valeur $id_file_precedente pour aller sur la page précédente
.
.
.
//Je fais la même chose avec $limitesuivante = $pos + 1;
.
.
.
La difficulté vient du fait que par exemple, j'efface la ligne avec la position 4. Si je suis en position 3, il va me faire 3 + 1, et rien trouver dans la requète SQL, vu que cette ligne n'existe plus.Donc comment écrire ma requète SQL pour qu'il aille a la prochaine occurance de position, la 5 dans ce cas la. Et inversément pour la précédente.
(P.S. j'ai pensé faire un script avec des vérifications jusqu'a ce qu'il tombe sur la bonne valeur suivante/précédente, sachant que le "trou" peut être plus grand (genre on a : 1,2,3,6,7,8), mais je sens que ça va être assez lourd)
J'ai posté dans la partie base de donnée, car j'aimerais une requète SQL qui me fait ceci.
Donc si quelqu'un pouvait me donner un indice ce serait sympa, merci d'avance