cs_attentio
Messages postés167Date d'inscriptionmardi 20 janvier 2004StatutMembreDernière intervention24 mai 2010
-
24 janv. 2005 à 03:23
cs_Arnauti
Messages postés392Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention26 septembre 2009
-
24 janv. 2005 à 19:56
bonjour,
j'ai des probleme avec un requete intertable
je vous explique :
il faut absolument que $resultats['commande_id'] soit egal a $transaction['commande'] pour afficher "oui" mais le probleme C que $transaction ne boucle pas dans la table transaction donc
actuellement il affiche oui aux deux premiers enregistrements si j'ai deux enregistrements dans ma table transaction.
ex :
enr 1 OUI
enr 2 OUI
enr 3 NON
enr 4 NON
alors qu'il devrait m'afficher
enr 1 NON
enr 2 OUI
enr 3 NON
enr 4 OUI
<HR>
<?
// mes requetes
$req_commandes=mysql_query("SELECT * from commandes ORDER BY commande_id DESC");
$req_transactions=mysql_query("SELECT commande from transaction ");
// ma boucle
while($resultats=mysql_fetch_array($req_commandes)){
$transaction =mysql_fetch_array($req_transactions);
if ($resultats['commande_id']=$transaction['commande'])
// affichage
echo'OUI';
else echo'NON';
}
// fin de ma boucle
?>
<HR>
j'ai essayer d'inbriquer une boucle dans la boucle mais ca n'a pas marché, ... il affiche autant de fois de oui ou non que j'ai d'enregistrements dans la table transaction
comment dois-je m'y prendre
merci de votre aide
cs_eXon
Messages postés166Date d'inscriptionlundi 17 janvier 2005StatutMembreDernière intervention 8 avril 20071 24 janv. 2005 à 04:30
De la facon que tu explique la facon que ça marche je ne comprend pas
trop mais tu pourrais essayé de faire les deux requêtes dans la même
commande. Tu as également un erreur dans ton script: if($resultats['commande_id']=$transaction['commande'])
Tu dois utiliser le double égal sinon tu change le contenu de cette variable:
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 24 janv. 2005 à 05:48
Salut,
pourquoi tu ne fais pas qu'une seule requete?
// mes requetes
$req_commandes=mysql_query("SELECT commande, commande_id FROM transaction AS a, commandes AS b ORDER BY a.commande_id DESC");
// ma boucle
while($resultats=mysql_fetch_array($req_commandes)){
if ($resultats['a.commande_id']==$transaction['b.commande'])
// affichage
echo'OUI';
else echo'NON';
}
// fin de ma boucle
?>
cs_attentio
Messages postés167Date d'inscriptionmardi 20 janvier 2004StatutMembreDernière intervention24 mai 2010 24 janv. 2005 à 12:19
en effet, j'avais oublier le = = mais ca ne marche pas mieux
si je fais dans ma boucle un echo''.$resultats['commande_id'].' et '.$transaction['commande'].'';
il m'affiche :
132 et 120
131 et 119
130 et
129 et ...
donc il n'affiche jamais 'oui' etant donner que la comparaison ne se fais que sur les 2 premiers enregistrements.
maldam : ton code n'a pas l'air de marcher (j'ai une erreur mysql_fetch_array au debut de la boucle)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 24 janv. 2005 à 12:49
Hello,
oui, c'est ma faute, il etait tot ce matin...
// mes requetes
$req_commandes=mysql_query("SELECT a.commande, b.commande_id FROM transaction AS a, commandes AS b ORDER BY b.commande_id DESC");
// ma boucle
while($resultats=mysql_fetch_array($req_commandes)){
if ($resultats['a.commande_id']==$transaction['b.commande'])
// affichage
echo'OUI';
else echo'NON';
}
// fin de ma boucle
?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_attentio
Messages postés167Date d'inscriptionmardi 20 janvier 2004StatutMembreDernière intervention24 mai 2010 24 janv. 2005 à 14:10
oui ... mais le probleme si j'imbrique ma boucle, qu'il me duplique aussi par le nombre d'enregistrement de la table transaction
ex : si dans ma table transaction j'ai 3 enregistrements
trans1
trans2
trans3
alors il va m'afficher NON OUI NON si $resultats['commande_id']=$transaction['commande']de trans2
cs_attentio
Messages postés167Date d'inscriptionmardi 20 janvier 2004StatutMembreDernière intervention24 mai 2010 24 janv. 2005 à 14:32
alors ... je veux afficher une liste de commandes (jusque la pas de probleme) et dans cette liste il ya une collone qui reponds par oui ou par non si la transaction a bien ete effectué
donc dans ma table commandes j'ai
commande_id | client
101 | dupont
102 | durand ...
dans ma table transaction
id | commande
1 | 102
2 | 110
3 | 145
donc on doit verifier si commande_id de la table commande est dans la table transaction , si elle y est on affiche OUI sinon NON
dans l'exemple il devrait afficher
commande n° 101 dupont NON
commande n° 102 durand OUI
cs_attentio
Messages postés167Date d'inscriptionmardi 20 janvier 2004StatutMembreDernière intervention24 mai 2010 24 janv. 2005 à 15:40
j'obtiens les erreurs suivantes :
<HR>
Warning: mysql_query(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /home/commandes.php
a la ligne $transacted= mysql_query
Warning : mysql_query(): A link to the server could not be established in /home/commandes.php a la ligne $transacted =mysql_query
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/commandes.php a la ligne $trans=mysql_fetch_array($transacted);
<HR>
davwart
Messages postés855Date d'inscriptionmardi 19 novembre 2002StatutMembreDernière intervention28 juillet 20091 24 janv. 2005 à 16:31
là suis désolé mais je vois pas..
je fais juste une query...
tu as verifié que ton fichier /var/lib/mysql/mysq.sock etait bien présent ?
-------------------------------------Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]