Script que je n'arrive pas a faire fonctionner
Bonjour,
j'ai encore besoin de votre aide.
je voudrais lister pour chaque jour sur la période donné le nombre d'occupant trié par catégorie et type de garde.
Mon scripte fonctionne mais les résultats ne sont pas cohérant.
J'ai comme impression que mon tableau se vide quand je passe d'une boucle à l'autre.
Merci pour votre aide
Code:
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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| $debut_garde='2025-02-02';
$fin_garde='2025-02-09';
//requette count pour chiens ou chats en garde indivduel
$select1 = $connexion->prepare("SELECT
DP.ID_prest,
DP.num_devis,
DP.debut_garde,
DP.fin_garde,
DP.ID_animal,
D.num_devis,
D.etat_devis,
A.ID_animal,
A.genre_animal,
P.ID_prest,
P.typ_prest,
P.mode_garde,
(DATEDIFF(DP.fin_garde,DP.debut_garde)+1) AS nb_jours
FROM devis_prest_tab DP
JOIN devis_tab D ON D.num_devis=DP.num_devis
JOIN animal A ON A.ID_animal=DP.ID_animal
JOIN prestation P ON P.ID_prest=DP.ID_prest
WHERE P.typ_prest=:typ_prest
AND DP.debut_garde<=:date1
AND DP.fin_garde>=:date2
AND (D.etat_devis=:etat_devis OR D.etat_devis=:etat_devis1 OR D.etat_devis=:etat_devis2 OR D.etat_devis=:etat_devis3)
order by DP.debut_garde
");
//exécute requette indiv ou commun
$select1->execute(array(
':typ_prest'=>'gardes',
':date1'=>$fin_garde,
':date2'=>$debut_garde,
':etat_devis'=>'envoyer',
':etat_devis1'=>'attente',
':etat_devis2'=>'valider',
':etat_devis3'=>'facturer'
));
$resultat1 = $select1->fetchAll(PDO::FETCH_ASSOC);
$nbrligne=count($resultat1);
$tbl=array();
$i='0';
while($i<$nbrligne){
$date_jour=$debut_garde;
$ii='0'; $nbr='0'; $nbcc='0'; $nbcind='0'; $nbccl='0'; $nbchind='0'; $nbchcol='0';
//je boucle sur les jours du devis en cours de traitement
while($ii<$resultat1[$i]['nb_jours']){
$tbl[$date_jour]['total']['nb']= $nbr++;
if($resultat1[$i]['genre_animal']='chat'){
if($resultat1[$i]['mode_garde']='commun'){
$tbl[$date_jour]['chat_com']['nb']= $nbcc++;
}
elseif ($resultat1[$i]['mode_garde']='individuel'){
$tbl[$date_jour]['chat_indiv']['nb']= $nbcind++;
}
elseif ($resultat1[$i]['mode_garde']='colocation'){
$tbl[$date_jour]['chat_coloc']['nb']= $nbccl++;
}
}
elseif($resultat1[$i]['genre_animal']='chien'){
if($resultat1[$i]['mode_garde']='individuel'){
$tbl[$date_jour]['chien_indiv']['nb']= $nbchind++;
}
elseif ($resultat1[$i]['mode_garde']='colocation'){
$tbl[$date_jour]['chien_coloc']['nb']= $nbchcol++;
}
}
$date_jour= date('Y-m-d', strtotime($date_jour.' + 1 DAY'));
$ii++;
}
$i++;
} |