Oui, J'ai une table commande avec les valeurs suivantes (juste un exemple)Tu aurais pas un exemple plus précis ?
id commande produit quantite prix unitaire
----------------------------------------------
1 44589 produit A 2 $5
2 44589 produit B 1 $2
3 33111 produit A 3 $5
4 33111 produit B 2 $2
5 33111 produit C 1 $3
Ce que je cherche c'est pouvoir afficher par exemple les lignes 3, 4 et 5 de la commande 33111 ou bien les lignes 1et 2 de la commande 44589 sur une page php. En bref afficher toutes lignes (produit,quantité et prix) appartenant a un numéro de commande$query = "SELECT produit, quantite, prix_unitaire
FROM matable
WHERE commande = 33111";
$res = mysql_query($query);
while ($r = mysql_fetch_object($res)) {
echo $r->produit.' - '.$r->quantite.' - '.$r->prix_unitaire.'<br />';
}OK. Mais dans le cas ou client veut imprimer la facture de sa commande, comment savoir que la 33111 est bien la commande actuelle et pas une ancienne? N y a t'il pas un petit bout de code php que l'on peut ajouter dans SELECT pour selectioner la commande actuelle et pas une autre?Hé bien tu peux faire quelque chose comme ça:
$query = "SELECT produit, quantite, prix_unitaire FROM matable WHERE commande = 33111"; $res = mysql_query($query); while ($r = mysql_fetch_object($res)) { echo $r->produit.' - '.$r->quantite.' - '.$r->prix_unitaire.'<br />'; }
Ca serait pas ce type de script a insérer après SELECT .... FROM..... WHERE par hasard?Dans ce cas récupère avant la dernière commande en date, si tu n'as pas de champs date tu peux utiliser la champ ID qui normalement doit être en auto_increment donc le dernier sera le bon
ORDER BY date DESC LIMIT 1;
Code : Tout sélectionner
SELECT *
FROM taTable
ORDER by date DESC
LIMIT 1;
Effectivement, ca m'a afficher toutes les autres commandesDans ton cas présent non, si tu rajoutes ça à ta requête, tu vas avoir uniquement un enregistrement en sortie donc tu aurais un produit appartenant à la dernière commande!
Donc faut que tu fasses une requête juste avant pour récupérer l'identifiant de ta commande et là c'est le principe que tu as dis :Code : Tout sélectionner
SELECT * FROM taTable ORDER by date DESC LIMIT 1;
wow wow wow. Quel ton?Euh tu as fais quoi comme requete car avec un limit 1, je vois pas comment ça a pu t'afficher plusieurs résultats...
C'est peut être moi, mais j'apprécie pas le ton de ton dernier message, ici on aide si ça te va pas comme ça cherche tout seul. Peut être que j'ai mal interprété j'espère...