Mon problème est sûrement bête comme chou, mais j'avoue je sèche sur une requête...
J'ai 3 tables
T_commande (table de commande de fournitures), avec comme champs (entre autres je ne les mets pas tous)
- id_produit (INT correspondant à l'ID du produit de la table T_produit)
- qte_produit (nombre de produit commandé)
- date_commande (au format AAAA-MM-DD HH:MM:SS)
- agent (correspondant à l'ID de l'agent de la table T_agent)
T_produit (table qui liste les fournitures)
- id (ID de la fourniture)
- description (nom de la fourniture)
T_agent (liste des agents)
- idagent (ID de l'agent)
- nomagent
- prenomagent
- service
- pole
Le principe est le suivant :
Dupont du service compta fait 3 commandes le même jour :
- 1 ramette de papier A4
- 2 stylos bleus
- 5 gommes
J'aimerais ressortir un truc du genre (déjà la base, après si je peux améliorer, je le ferais) :
Service : compta
Agent : Dupont
Description : ramette papier
Quantité : 1
Service : compta
Agent : Dupont
Description : stylos bleus
Quantité : 2
Service : compta
Agent : Dupont
Description : gommes
Quantité : 5
Or quand je lance ma requete, il me cumule tout et ca me donne
Service : compta
Agent : Dupont
Description : ramette papier
Quantité : 1
Service : compta
Agent : Dupont
Description : ramette papier
Quantité : 2
Service : compta
Agent : Dupont
Description : ramette papier
Quantité : 5
Service : compta
Agent : Dupont
Description : stylos bleus
Quantité : 1
Service : compta
Agent : Dupont
Description : stylos bleus
Quantité : 2
Service : compta
Agent : Dupont
Description : stylos bleus
Quantité : 5
Service : compta
Agent : Dupont
Description : gomme
Quantité : 1
Service : compta
Agent : Dupont
Description : gomme
Quantité : 2
Service : compta
Agent : Dupont
Description : gomme
Quantité : 5
D'où vient mon erreur et comment y remédier ? Je suis sûr que c'est tout con, mais là je rame...
Voilà mon code:
$sql = "SELECT DISTINCT description,num_commande,qte_produit,date_commande,agent,nomagent,prenomagent,service,idagent FROM fourniture_commande,agent,fourniture_produits WHERE fourniture_commande.agent=agent.idagent AND fourniture_commande.num_commande LIKE 'RSI052010%' ORDER BY date_commande";
// 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 face="Freestyle Script" color="#0099CC" size="+2"><b>Service :</b></font>'.$data['service'].'<br>';
echo '<font face="Freestyle Script" color="#0099CC" size="+2"><b>Agent :</b></font>'.$data['nomagent'].' '.$data['prenomagent'].'<br>';
echo '<font face="Freestyle Script" color="#0099CC" size="+2"><b>Description :</b></font>'.$data['description'].'<br>';
echo '<font face="Freestyle Script" color="#0099CC" size="+2"><b>Nombre commandé :</b></font>'.$data['qte_produit'].'<br>';
echo '<font face="Freestyle Script" color="#0099CC" size="+2"><b>Date de la commande :</b></font>'.$data['date_commande'].'<br><br>';
}
// on ferme la connexion à mysql
mysql_close();
?>