Bonjour,
J'ai un problème de syntaxe et je tourne en rond. Merci à celui ou celle qui pourra m'aider. Voici le problème
J'ai une table 1 (tab1) avec les champs id1,nom pour info id1 est unique
Exemple :
1 toto
2 tata
3 titi
J'ai une table 2 (tab2) avec les champs id2,id1,valeur pour info id2 est unique mais je peux avoir plusieurs enregistrement avec id1
Exemple :
1 1 10
2 1 20
3 2 5
4 1 10
5 3 10
6 3 40
Je souhaite lire tous les enregistrements de ma table 1 un par un puis pour chaque enregistrement, lire la table 2 et faire une somme du champs valeur
pour afficher les informations issues des 2 tables. Dans mon exemple cela donnerait
1 toto 40
2 tata 5
3 titi 50
Avec le script indiqué ci-dessous je n'obtiens que :
1 toto
2 tata
3 titi
Je suppose qu'il y a un problème avec mon WHERE à moins que cela ne vienne de mon script.
Pour info je suis en train de passer en SQLI et j'apprends tout seul.
Merci encore pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $requete = mysqli_query($con,"SELECT id1,nom FROM tab1 "); while($reponse = mysqli_fetch_array($requete)) { $id1_recuperee = $reponse['id1']; $nom_recupere = $reponse['inom']; $requete2 = mysqli_query($con,"SELECT SUM(valeur) as valeur_totale FROM tab2 WHERE id1 ='".$id1_recuperee."' GROUP BY BY id1 "); $reponse2 = = mysqli_fetch_array($requete2); $valeur = $reponse2['valeur_totale']; echo $id1_recuperee; echo $nom; echo $valeur; }
Partager