Bonjour,
voilà j'ai un petit souci. Je réalise des requêtes dans une bdd et je souhaite l'afficher sous forme de tableau. Le problème c'est que sur ma première colonne j'utilise un rowspan du nombre d'éléments contenus dans la deuxième colonne appartenant à l'élément de la première. Jusque là tout va bien, le souci arrive pour le reste. Cette méthode fait qu'une de mes données de la première colonne est oublié et je ne vois pas comment modifier mon algo pour pouvoir tout récupérer et l'afficher à souhait.
Voilà mon code :
Code : 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
60
61
62
63
64 <?php $k=0; while($donnees=$req->fetch()) { ?> <tr> <?php $reqt=$bdd->prepare('SELECT COUNT(DISTINCT(NomAct)) AS counter FROM test WHERE NomServ = :Nomserv'); $reqt->execute(array('Nomserv' => $donnees['NomServ'])); $cont=$reqt->fetch(); $taille=$cont['counter']; if($k<=$taille) { ?> <td rowspan=<?php echo $taille;?>> <?php echo htmlspecialchars($donnees['NomServ']); $k = $k + 1; } else $k=0; ?> </td> <td> <?php echo htmlspecialchars($donnees['NomAct']); ?> </td> <td> <?php echo htmlspecialchars($donnees['SOM'].' '); ?> </td> <td> <?php $prctg=$bdd->prepare('SELECT ROUND(SUM(CA),2) AS SOM FROM test WHERE NomServ =:Nomserv ORDER BY NomServ'); $prctg->execute(array('Nomserv' => $donnees['NomServ'])); $pctg=$prctg->fetch(); $prctgserv = round(100*$donnees['SOM']/$pctg['SOM'],2); echo htmlspecialchars($prctgserv.' %'); ?> </td> <td> <?php $evol=$bdd->prepare('SELECT Montant FROM objectif WHERE NomServ = :Nomserv'); $evol->execute(array('Nomserv' => $donnees['NomServ'], )); $don=$evol->fetch(); if($don['Montant'] == NULL) echo htmlspecialchars('Non rempli') ; else { $porcentgevol = round(100*$donnees['SOM']/$don['Montant'],2); echo htmlspecialchars($porcentgevol." %"); } ?> </td> </tr> <?php } ?>
Partager