salut . je galere depuis logntemps dans un projet et quand j'ai cru ça termine je tombe sur un beug
bref mon beug cette fois çi j'ai decouvert c'est passage entr les années au niveau semaine et je cherche fonctions pour éliminer ce beug
j'explique
j'ai table suivante
agent | date_debut | date_fin
x | 2008-01-01 | 2009-01-01
requete est suivante :
et voiçi script
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $sql="SELECT SAR, Date_debut,Date_fin, " . "WEEK( Date_debut) AS wDebut,WEEK( Date_fin) AS wfin,DAYOFWEEK( Date_debut) AS wsDebut,DAYOFWEEK( Date_fin) AS wsfin," . "TO_DAYS( Date_debut) AS dDebut,TO_DAYS( Date_fin ) AS dFin, year( Date_debut) AS yDebut,year( Date_fin) AS yfin " . " FROM table where year(date_debut)=$variable_annee OR year(date_fin)=$variable_annee " ; $requete = $connexion->query($sql); $result = $requete -> fetchALL();
but script et calculrer difference entre date debut et date fin en nombre de jour mais par semaine . résultat va afficher 5 semaine 1 ( semaine 1 de 2008 comence en 31 decembre) et 6 pour reste semaine ( derniere semaine 2008 s'arrete 28 decembre 2009) ei il prend pas reste
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 <?php foreach ($result as $row) { $agent1 = $row['SAR']; $semaine1 = $row['wDebut']; $jourSemaine1 = $row['wsDebut']; // dimanche = 1 $jourDebut1 = $row['dDebut']; $jourFin1 = $row['dFin']; if ($jourDebut1 < $premier_jour_semaine) { $jour_debut_final = $premier_jour_semaine; } else { $jour_debut_final=$jourDebut1; } if ($jourFin1 > $dernier_jour_semaine) { $jour_fin_final = $dernier_jour_semaine; } else { $jour_fin_final=$jourFin1; } for( $jour1 = $jour_debut_final ;$jour1 <= $jour_fin_final; $jour1++ ) { if( $jourSemaine1 > 1 AND $jourSemaine1 <=7 ) $nbrJours6[ $semaine1]++; $jourSemaine1++; if( $jourSemaine1 > 7 ) { $semaine1++; $jourSemaine1 = 1; } } } ?>
j'ai ajouté requete et script pour afficher liens des annees suivant annees présent dans la table. la quand je clique sur 2008 ça marche (where year(date_debut)=$variable_annee) mais kan je clique sur 2009 ça marche pas
j'ai trouvé beug car dans ma boucle for comence calcul de date debut et pas date fin
le probleme j'ai pas trouvé solution vu semaine e varies et semaine 1 de 2009 par exemple comence 29 decembre 2008 d'ou d'apres cette table je dois avoir resultat pouyr annee 2009 4 jours dans semaine 1
merçi d'avance pour votre aide
Partager