Depuis plusieurs jours je bute sur un problème : une requête imbriquée.
Je m'explique, j'ai une requête qui extrait les données d'une table (table = comandes, données extraites = reference_article, quantite, prix_unitaire).
Jusque là ca fonctionne.
J'ai une deuxiemme table (articles) qui contient des données (reference_art, denomination_article, taille couleur, type_article).
Je dois extraire la donnée type_article en fonction de la reference_article (provenant de la table des commandes), sachant que reference_article (commandes) et reference_art (articles) sont identiques.
Je vous joins ici une portion de mon code dans lequel je dois imbriquer la deuxemme requête :
// Calcul de la commande passée par ambasadrice
$sql = "SELECT reference_article,quantite,prix_unitaire
FROM commandes
WHERE ambassadrice='$num_ambassadrice' and campagne='$campagne'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$total_amba=0;
$reference_article=0;
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{
$prix=($data['prix_unitaire']);
$reference=($data['reference_article']);
// on affiche les informations de l'enregistrement en cours
$ligne_article=0;
$ligne_article=(($data['quantite']) * $prix);
$total_amba=($total_amba+$ligne_article);
}
D'avance je vous remercie pour vos précieux conseils.
Amicalement, Taz.
J'ai tenté de faire une jointure, mais j'avoue que je maitrise mal cette technique...
Si on pouvait me mettre un exemple de code avec une jointure, cela m'aiderait grandement je pense.
// Calcul de la commande passée par ambasadrice
$sql = "SELECT commandes.reference_article,commandes.quantite,commandes.prix_unitaire
FROM commandes
INNER JOIN type_article
ON commandes.reference_article = articles.reference_art
WHERE commandes.ambassadrice='$num_ambassadrice' and commandes.campagne='$campagne'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$total_amba=0;
$reference_article=0;
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{
$prix=($data['prix_unitaire']);
$reference=($data['reference_article']);
// on affiche les informations de l'enregistrement en cours
$ligne_article=0;
$ligne_article=(($data['quantite']) * $prix);
$total_amba=($total_amba+$ligne_article);
}
Cela me donne une erreur :
Erreur SQL !
SELECT commandes.reference_article,commandes.quantite,commandes.prix_unitaire FROM commandes INNER JOIN type_article ON commandes.reference_article = articles.reference_art WHERE commandes.ambassadrice='90145101' and commandes.campagne='14'
Table 'tazetpat_CommandesAmba.type_article' doesn't exist
J'ai beau lire et relire, je dois me tromper qulque part.
Je donne ici mon code AVEC la jointure :
$sql = "SELECT commandes.reference_article,commandes.quantite,commandes.prix_unitaire
FROM commandes
INNER JOIN articles
ON commandes.reference_article = articles.reference_art
WHERE commandes.ambassadrice='$num_ambassadrice' and commandes.campagne='$campagne'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$total_amba=0;
$reference_article=0;
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{
$prix=($data['prix_unitaire']);
$reference=($data['reference_article']);
ECHO ($data['type_article']); ECHO " "; <couleur nom="rouge"><=== ICI j'ai rajouté cette ligne pour tester si il me sort les données : RIEN !</couleur>
// on affiche les informations de l'enregistrement en cours
$ligne_article=0;
$ligne_article=(($data['quantite']) * $prix);
$total_amba=($total_amba+$ligne_article);
}
J'ai fini par trouver l'astuce.
Désollé d'avoir été aussi 'lent à comprendre'...
Merci.
Requete imbriquée
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !