Code : Tout sélectionner
SELECT Id_user, Infra, COUNT(Infra) AS nb_infra
FROM table
GROUP BY Id_user, Infra
| Utilisateur | Infra type 1 | Infra type 2 | Infra type 3 |
| user 001 | 0 | 2 | 0 |
| user 002 | 1 | 0 | 4 |
| user 003 | 0 | 0 | 1 |
Normal, une requête te renvoie des lignes, si tu groupes sur des valeurs ça te renvoie chaque ligne qui vérifie le groupement.Par contre ce genre de requete me dissocie chaque infraction de chaque user.
Et bien tu l'as ici ton compte user par user pour chaque type, tu as juste à faire ta mise en forme lors de l'affichage.En effet l'idée étant d'avoir un tableau jeune par user (sur chaque ligne), infraction par infraction (dans les colones). Ici j'obtiens une ligne par user et par infraction.
Comment faire le compte user par user de chaque type d'infraction ?
Exactementc'est a moitié chaud à faire ça![]()
Je balance un /tr et un nouveau tr à chaque changement de user ?
il faut donc que je garde dans ma boucle le user_old que je compare avec user_new ?
Code : Tout sélectionner
TantQue il y a des lignes Faire
Si user_ligne <> user_courant Alors
Ecrire nouvelle ligne et infos user
FSi
Ecrire info infra
FTantQue
$col = 1;
while ($Array = mysql_fetch_array($Req)) {
$user = $Array['user'];
$infra = $Array['infra'];
$nb_infra = $Array['nb_infra'];
if($col == 1 ) { <tr>
<td>$user</td>
for($cols = $col; $col == $Infra; $col++) {
echo "<td>0</td>";
}
echo "<td>$NbInfra</td>";
$col++;
if($col == 10) {
echo "</tr>\n"; $col = 1;
}
}
Code : Tout sélectionner
user_old <> user_new
Bah non avec du PHPavec du javascript ?
je ne vois pas comment écraser une valeur pendant ma boucle
$tab[0] = 0; // initialisation
$tab[0] = 12; // écrasement
C'est tout