Bonjour a tous,
dans une page WEB avec FORM et 3 boutons, celons le bouton cliqué je récupère les données se trouvant dans la 3ème table de jointure, et les affichent dans une table html.
dans une page PHP j'utilise SWITCH CASE pour diriger l'action celons le bouton choisis et je récupère les données se trouvant dans la 3ème tables de jointure, pour cela j'utilise INNER JOIN et WHERE, j’espère que je fais juste
la structure de mes tables: (je racourcis les nom des tables pour le forum)
1. table clients -> au nom c (costumers_table)
2. table actions -> au nom o (operations_table)
3. table de jointure -> au nom d (data_integration_table), qui contient l'id client, l'id de l'action, date, le montant, une cologne pour la somme total au nom de TotalAmount -> les données sont choisis/inséré dans une page WEB avec FORM
le code que j'utilise pour récupérer toutes les données et les afficher sous forme de tableaux.
Toutes les lignes de la table son bien affiché.
Pour afficher la somme total j'ai lu qu'il fallait utiliser sum(nom de la colonne) avant le mot FORM,donc j'ai rajouterCode:switch ($_REQUEST['btn_submit']) { case "Button 4": //affiche tous le contenu $sth = $conn->query("SELECT d.date, d.commentaire, d.amount ,c.first_name, c.last_name, o.operation_name FROM d INNER JOIN c ON d.customer_id = c.customer_id INNER JOIN o ON d.operation_id = o.operation_id"); $sth->setFetchMode(PDO::FETCH_BOTH);// Mode par défaut (tableau) while($row = $sth->fetch()) { echo "</tr>"; echo "<td>", $row['first_name'], ' ', $row['last_name'],"</td>"; echo "<td>", $row['operation_name'], "</td>"; echo "<td>", $row['commentaire'], "</td>"; echo "<td>", $row['date'], "</td>"; echo "<td>", $row['amount'], '₪', "</td>"; echo "</tr>"; } $sth->closeCursor(); break; } echo "</table>"; echo "<table>"; echo "<tr class='noborder'> <td></td> <td></td> <td></td> <th>Total</th> <td> afficher la somme Total</td> </tr> </table>"; $conn = null;
le code après rajout du sumCode:sum(data_integration_table.amount) AS 'TotalAmount'
et dans la 2ème table a la place de <td> afficher la somme Total</td> j'ai remplacer parCode:$sth = $conn->query("SELECT d.date, d.commentaire, d.amount ,c.first_name, c.last_name, o.operation_name, sum(data_integration_table.amount) AS 'TotalAmount' FROM d INNER JOIN c ON d.customer_id = c.customer_id INNER JOIN o ON d.operation_id = o.operation_id");après le changementCode:<td> $row['TotalAmount'] </td>
le résultat affiche juste une ligne de ma table même si il y on a plusieurs.Code:echo "<table>"; echo "<tr class='noborder'> <td></td> <td></td> <td></td> <th>Total</th> <td>", $row['TotalAmount'], "</td> </tr> </table>";
Quel est le juste code a utiliser?
-----