SQL/PHP + le résultat suivant

cerkan -  
avion-f16 Messages postés 20367 Statut Contributeur -
Bonjour à toutes et à tous !
J'ai un petit problème de traitement de données de ma base, et je me permets donc de venir chercher des solutions ici.

Voila la situations :
Je dispose d'une base de donnée comprenant des objets qui dispose entre autre d'une id (par ordre d'enregistrement) et un nom.
Dans un premier temps, je souhaite afficher l'ensemble des objets sur une page par ordre alphabétique.
Jusque là tout va bien,
SELECT * FROM objet ORDER BY nom ASC.
Depuis cette liste, je peux cliquer sur un objet et ouvrir sa fiche.
J'aimerai, depuis cette fiche, pouvoir avoir un lien précédent et un lien suivant qui m'emmènerait directement sur l'objet précédent ou suivant toujours en conservant l'ordre alphabétique, pas par ordre d'id.
Une solution ?
Merci d'avance pour vos idées et vos éclaircissements.
A voir également:

1 réponse

avion-f16 Messages postés 20367 Statut Contributeur 4 509
 
Je n'ai pas testé mais ça doit être à peu près ça.
<?php
$pdo = new PDO('mysql:host=localhost;dbname=tabase','root','');
$premierId = (int) $_GET['id'] - 1;

$sql = 'SELECT * FORM table WHERE id = '.$premierId.' LIMIT 0,3';
$req = $pdo->query($sql);
$req->setFetchMode(PDO::FETCH_OBJ);

$precedent = $req->fetch();
$actuel = $req->fetch();
$suivant = $req->fetch();

echo '<a href="lire.php?id='.$precedent->id.'">Précédent</a> | ';
echo '<a href="lire.php?id='.$suivant->id.'">Suivant</a>';

echo '<h3>'.$actuel->titre.'</h3>';
echo $actuel->contenu;

$req->closeCursor();
?>

Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
0