Array dans un for
Résolu
Melooo
Messages postés
1476
Statut
Membre
-
Melooo Messages postés 1476 Statut Membre -
Melooo Messages postés 1476 Statut Membre -
Bonjour,
Je dois compter le nombre de connexion d'un client par mois.
Mais il y a des mois ou par exemple, il ne c'est pas connecté, donc le nombre de connexion sera à 0.
Mon tableau est construit comme ca :
[80] = correspond à l'ID client
[10] et [9] = correspond au mois de l'année => nombre de connexion
Ce que je souhaite faire c'est d'ajouter 0 pour les mois auxquels il ne s'est pas connecté.
J'ai tenté ceci :
Mais sans succès.
Merci de votre aide.
Je dois compter le nombre de connexion d'un client par mois.
Mais il y a des mois ou par exemple, il ne c'est pas connecté, donc le nombre de connexion sera à 0.
Mon tableau est construit comme ca :
Array
(
[80] => Array
(
[10] => 0
[9] => 25
)
[81] => Array
(
[1] => 222
[12] => 125
[10] => 48
)
[82] => Array
(
[4] => 41
[12] => 58
)
)
[80] = correspond à l'ID client
[10] et [9] = correspond au mois de l'année => nombre de connexion
Ce que je souhaite faire c'est d'ajouter 0 pour les mois auxquels il ne s'est pas connecté.
J'ai tenté ceci :
foreach($totMed as $cle1 => $valeur1){
foreach ($valeur1 as $cle2=>$valeur2){
for($v=1;$v<=12;$v++){
if($v != $cle2){
$essai[$cle2] = $v;
} else {
$essai[$cle2] = $cle2;
}
}
}
}
Mais sans succès.
Merci de votre aide.
A voir également:
- Array dans un for
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Idm for mac - Télécharger - Téléchargement & Transfert
- Instagram for pc - Télécharger - Divers Communication
- Microsoft store download for pc - Guide
- Winrar for pc - Télécharger - Compression & Décompression
3 réponses
Bonjour
Pas essayé, mais ça devrait marcher :
Pas essayé, mais ça devrait marcher :
foreach($totMed as $cle1 => $valeur1){
for ($k=1; $k<=12; $k++) {
if (!isset($totMed[$cle1][$k])) $totMed[$cle1][$k]=0;
}
}
Est-ce qu'il doit y avoir plusieurs lignes pour chacun de tes $webRow ?
Je suppose qu'en fait, chaque ligne de $totMed correspond à une seule ligne $webRow et tu ne devrais donc pas avoir une boucle sur $totMed pour chacun de tes webRow. Mais comme j'ignore quelle relation il y a entre les deux, je ne peux pas te dire quoi corriger exactement.
Je suppose qu'en fait, chaque ligne de $totMed correspond à une seule ligne $webRow et tu ne devrais donc pas avoir une boucle sur $totMed pour chacun de tes webRow. Mais comme j'ignore quelle relation il y a entre les deux, je ne peux pas te dire quoi corriger exactement.
Je ne suis pas vraiment sûr d'avoir compris...
si le code dans $value[1] correpond bien à la clé qu'il y a dans $totMed, ça devrait donner :
À nom humble avis, il vaudrait mieux initialiser les valeurs inexistantes avec & nbsp; (sans espace entre & et nbsp;)plutôt que 0, car un tableau presque plein de zéros est pénible à lire
si le code dans $value[1] correpond bien à la clé qu'il y a dans $totMed, ça devrait donner :
<?php foreach($webRow as $value){ ?>
<tr>
<td><?php echo $value[1]; ?></td>
<td><?php echo $value[0]; ?></td>
<td><?php echo $value[2]; ?></td>
<td><?php echo $value[4]; ?></td><?php
for($k=1;$k<=12;$k++) { ?>
<td><?php echo $totMed[$value[1]][$k] ?></td><?php } ?>
</tr><?php } ?>
À nom humble avis, il vaudrait mieux initialiser les valeurs inexistantes avec & nbsp; (sans espace entre & et nbsp;)plutôt que 0, car un tableau presque plein de zéros est pénible à lire
Autre petit souci, actuellement mon tableau html est construit comme ceci :
Code | Nom | Nbr depuis le début | Nbr annee en cours | Janv | Fév | Mars | Avril ..... | Déc
Et l'affichage de mes données se fait comme ceci :
<?php foreach($webRow as $value){ ?><tr> <td><?php echo $value[1]; ?></td> <td><?php echo $value[0]; ?></td> <td><?php echo $value[2]; ?></td> <td><?php echo $value[4]; ?></td><?php } ?><tr><?php foreach($totMed as $my_value){ foreach ($my_value as $cle2=>$valeur2){ ?><td><?php echo $valeur2; ?></td><<?php } } ?> </tr>Comment peut-on faire pour aller à la ligne pour chaque client ?
Merci encore de ton aide le père