Page 1 sur 1

Comment afficher le dernier enregistrement d'une table SQL?

Posté : 11 juin 2009, 19:42
par arkhon21
Bonjour,

Pour afficher le dernier enregistrement d'une table on utilise par exemple
$sql="SELECT * FROM $tbl_name ORDER BY client DESC

OK

MAIS, comment afficher le dernier enregistrement d'une personne en particulier? Par exemple pour une boutique en ligne, il y a une table dans laquelle est enregistrée les commandes passées de tout les clients. Et je veux afficher la toute dernière commande d'un seul client en particulier pour établir la facture en ligne. Car si j'utilise la syntaxe ci dessus, je vais avoir la dernière commande enregistrer dans la table et non celle du client voulu!!! Quelle syntaxe doit on ajouter?

Merci pour vos réponses

Posté : 11 juin 2009, 19:54
par geoffroy
Est-ce que ta table commandes contient une colonne date ?
Dans ce cas, tu pourrais trier par date, en précisant l'id client :

Code : Tout sélectionner

$sql="SELECT * FROM $tbl_name WHERE id_client=".$id." ORDER BY date DESC;";

Posté : 11 juin 2009, 20:25
par momox
Si tu as une clé primaire auto-incrémentée, tu ordonne en inverse et tu limite a un enregistrement.

Code : Tout sélectionner

[...]ORDER BY id DESC LIMIT 1;
Même manoeuvre pour le dernier enregistrement d'un client en particulier.

Posté : 11 juin 2009, 20:33
par arkhon21
Oui, j'ai meme mieux que ca, la date + l'heure d'enregistrement en même temps.

Par contre, ta solution donne une erreur de syntaxe avec le message
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY date_hour DESC' at line 1
Apparament, cette syntaxe n'est pas adaptée. Je vais voir ceux qu'ils disent pour MySQL: 5.0.


CORRECTION! C'est moi qui est a fait une erreur!

Merci

Posté : 11 juin 2009, 20:52
par geoffroy
Ta colonnes date_hour est bien sur la table concernée par le SELECT?
Quel est le type de données de cette colonne (timestamp ? datetime ? varchar ?)

EDIT : ok :D

Posté : 11 juin 2009, 21:37
par arkhon21
Ta colonnes date_hour est bien sur la table concernée par le SELECT?
Quel est le type de données de cette colonne (timestamp ? datetime ? varchar ?)

EDIT : ok :D
En fait j'ai fait une simple colonne TEXT avec pour saisie de la valeur
$date_hour=(date("Y-m-d H:i:s"));
et dans le code d'insertion au moment de la commande
,'$date_hour'
Et ca marche!