Bonjour,
j'ai une table dont je veux faire la somme d'une colonne et afficher les enregistrements en fonction de la date saisie dans le champs d'un formulaire de recherche. La table comprend les colonne noms, type_versement, versement, date_paiement. Lorsque je valide la date (par exemple 2021-07-03) depuis le formulaire , j'obtient la somme correspondant aux enregistrements de cette date. par contre, je n'ai que l'affichage du premier enregistrement de cette date. je pense que mon problème est lié à la requête. j'ai parcouru les forums sur les requêtes avec les fonctions d'agrégation en vain.
merci d'avance de bien vouloir m'aider!
mon code:
ou
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 <?php $resultats = ""; if (isset($_POST['search']) && !empty ($_POST['search'])) { try { $db = new PDO('mysql:host=localhost;dbname=bdd', 'XXX','X', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); } catch (PDOException $e) { die ($e->getMessage()); } $query = $_POST['search']; $req = $db->prepare("SELECT noms,versement,type_versement,date_paiement,(SELECT SUM(versement)) AS total FROM cinquiemev WHERE date_paiement LIKE ?"); $req->execute(array('%' . $query . '%')); } ?> <!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title>BILAN QUOTIDIENT</title> </head> <body><br> <form method="post"> <label for="search">TOTAL QUOTIDIENT: </label> <input type="search" name="search" value=""> <input type="submit" name="submit" value="valider"> </form></br> <table width="80%" border="1" cellspacing="0" bordercolor="#FFFFFF"> <thead> <tr> <td>NOM ET PRENOMS</td> <td>MONTANT*(FCFA)</td> <td>NATURE VERSEMENT</td> <td>DATE DE PAIEMENT</td> <td><span style="position: absolute; bottom: 300px; left: 1050px; width: 242px; heigth: 70px;"> TOTAL = </span></td> </tr> </thead> <tbody> <?php while($data = $req->fetch(PDO::FETCH_ASSOC)): ?> <tr> <td><?php echo htmlspecialchars($data['noms']);?></td> <td><?php echo htmlspecialchars($data['versement']);?></td> <td><?php echo htmlspecialchars($data['type_versement']);?></td> <td><?php echo htmlspecialchars($data['date_paiement']);?></td> <td><?php echo htmlspecialchars($data['total']);?></td> </tr> <td><?php endwhile; ?></td> </tbody> </table> </body>
ma table:
voilà le résultat que j'ai:
Partager