Prend ton temps répondre c'est pour toi
Alors premiere chose, si tu utilise un while, donc une boucle, c'est pour afficher plusieurs ligne (avec ta requête cela affiche toute la table

).
Pour plus d'infos sur SQL je te conseil
http://sqlpro.developpez.com
Si j'ai bien tu souhaite afficher un seul événement (le dernier). Il va donc falloir utiliser un prédicat (une condition "where").
Il faut définir ce dernier événement. (en gros comment tu le sélectionne, en fonction de la date, de son ordre d'entrée etc etc).
Tu n'indique pas de date dans ta table, est ce que c'est un oublie ?
J'en profite pour t'indique que desc est un mot réservé et qu'il est donc préférable de ne pas l'utiliser en nom de champs (tout comme date d'ailleurs

).
En me basant sur une table comme ceci
Create table evts(
id int not null auto_increment primary key,
nom varchar(50) not null,
Description text not null,
DateEvt date not null
)engine=myisam;
Pour l'exemple on affiche l'evennement du jour (bon je considère qu'il n'y en a qu'un mais ce n'est qu'un exemple y a moyen d'en avoir plusieurs bien entendu

)
<?php
// je te laisse faire la connexion au sgbd en utilisant pdo
$ret = $bdd->query('select id, nom, description from evts where dateEvt =now() ordre by dateEvt limit 1');
// le limit permet de n'avoir qu'un seul retour
// affichage
$data = $ret->fetch(PDO::FETCH_OBJETC);
echo 'événement '.$data->nom .'<br/>';
echo '<a href="?id='.$data->id.'&sens=p">événement précédent</a>';
// je te laisse faire pour suivant en fonction de mon 1er message ;)
?>
Le fait de commencer le lien par ? Indique que je reste sur la même page (histoire de pas faire 40 pages pour la même chose).
À partir de la, lorsque l'on clique sur le lien on arrive sur la même page avec deux infos dans l'url que l'on peux utiliser simplement pour faire une nouvelle requête.
qu'elle différencent avec la première requête ?
On. À ajouter une condition dans le prédicat indiquant si le triple à prendre est situé avant ou après celui qui est dans l'url.
<?php
If (isset($_GET['id']) && isset($_GET['sens'])){
// on créer la requête
If ($_GET['sens'] == 's')
$sql = 'select id, nom, description from evts where id < '.$_GET['id'].' order by dateEvt limit 1';
else
$sql = 'select id, nom, description from evts where dateEvt =now() ordre by dateEvt limit 1';
// la c'est le même traitement qu'au dessus mais dans le query on met la variable $sql plutôt qu'une chaîne de caractères
?>
Donc en fonction de ce qu'il y a dans l'url on choisis la requête à effectuer et on affiche le retour toujours de la même manière.
Il te reste à faire :
- le sens "suivant"
- protéger ta requête. (voir pdo::quote dans la doc)
- trouver les bons critères pour afficher le 1er événement comme tu le souhaite
- gèrer la possibilité d'avoir plusieurs événement le même jour (voir le type datetime de mysql)
Amusé toi bien
@+
Il en faut peu pour être heureux ......