Page 1 sur 1

Sens de lecture de DBB MySql

Posté : 19 sept. 2011, 17:55
par AleMatt
Bonjour à toutes et tous,

Nouveau sur le forum et dans le codage PHP, j’essaie de prendre ds morceaux de codes, de les comprendre et de les assembler.
Sur mon site que "j'assemble" avec Web accapella, j'ai voulu refaire mon livre d'or de mon ancien site, j'ai donc récuperé la BDD, puis j'ai écrit un bout de code en PHP que j'insére à une frame de ma page.
Jusqu’ici tout va bien et cela fonctionne bien.

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <title>Livre d'Or</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <BODY BGCOLOR=black> <?php // on se connecte à MySQL http://www.marc-beuvain.com/Livredor_Sql.php $db = mysql_connect('localhost', 'MyLogin', 'MyPass'); // on sélectionne la base mysql_select_db('livredor',$db); // on crée la requête SQL $sql = 'SELECT * FROM Messages'; // on envoie la requête $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // on fait une boucle qui va faire un tour pour chaque enregistrement while($data = mysql_fetch_assoc($req)) { // on affiche les informations de l'enregistrement en cours echo '<font color="white" size="2"><i>'.$data['Date'].' </i><br>'; echo '<b>'.$data['Nom'].' '.$data['Prénom'].'</b><br>'; echo '<font color="white" size="3">'.$data['Message'].' <br><br><br> '; } // on ferme la connexion à mysql mysql_close(); ?> </body> </html>
Le seul problème, mais pas des moindre, c'est que les messages s'affiche dans l'ordre d'enregistement, logique puisqu'un ID s'incrémente à chaque ajout!
Mais moi je souhaiterais que l'affichage se fasse du plus récent au plus ancien message.

Pourriez-vous m'aider, s'il vous plaît? :)

Re: Sens de lecture de DBB MySql

Posté : 19 sept. 2011, 18:01
par sam_vimes
Il faut que tu le "dises" dans ta requête mysql :
$sql = 'SELECT * FROM Messages ORDER BY champDate DESC';

Bien sûr, champDate est à remplacer par le nom de ton champ qui contient la date.

Re: Sens de lecture de DBB MySql

Posté : 19 sept. 2011, 18:22
par AleMatt
Merci beaucoup,

Y a-t-il un syntaxe particulière? Mon champs date s'appelle....Date :lol:

J'ai donc écrit ça:

Code : Tout sélectionner

$sql = 'SELECT * FROM Messages ORDER BY Date DESC';
Mais ça marche plus du tout!

Re: Sens de lecture de DBB MySql

Posté : 19 sept. 2011, 18:38
par AleMatt
Oups! C'est une erreur de ma part, ça marche très bien milles merci! =D>

Re: Sens de lecture de DBB MySql

Posté : 19 sept. 2011, 20:16
par Ryle
Faites attention car le mot "date" est un mot clé réservé du langage sql (qui sert à définir les champs de type date, au même titre que int ou varchar), il peut donc y avoir des problèmes et des erreurs à l'utiliser comme nom de champ...

Re: Sens de lecture de DBB MySql

Posté : 20 sept. 2011, 13:17
par AleMatt
Merci pour le tuyau! ;)