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;
}