Salam; j'ai la requête suivante qui selectionne les données entre semaine N° 1 de l'année 2011 et la semaine 1 de l'année 2012 :
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
 
<?php
if(((isset ($_POST['an']) ) AND ($_POST['an'] <> "")) AND ((isset ($_POST['com']) ) AND ($_POST['com'] <> "")) 	AND (isset ($_POST['anf']) AND ($_POST['anf'] <> "")) AND (isset ($_POST['nsdb']) AND ($_POST['nsdb'] <> ""))  AND (isset ($_POST['nsf']) AND ($_POST['nsf'] <> "")))
	{
	try {
 
		$tbordnat=$cbd->prepare('
					SELECT 
					
					sum(m)as m,sum(f)as f,sum(m1)as m1,sum(f1)as f1,sum(m2)as m2,sum(f2)as f2,sum(m3)as m3,sum(f3)as f3,sum(m4)as m4,sum(f4)as f4,sum(m5)as m5,sum(f5)as f5,sum(m6)as m6,sum(f6)as f6,sum(m7)as m7,sum(f7)as f7,sum(m8)as m8,sum(f8)as f8,
                                        (sum(m)+sum(m1)+sum(m2)+sum(m3)+sum(m4)+sum(m5)+sum(m6)+sum(m7)+sum(m8)) As Total_M ,
					(sum(f)+sum(f1)+sum(f2)+sum(f3)+sum(f4)+sum(f5)+sum(f6)+sum(f7)+sum(f8)) As Total_F ,
					(sum(m)+sum(f)+sum(m1)+sum(f1)) AS t5,
					(sum(m2)+sum(f2)) AS t10,
					(sum(m3)+sum(f3)) AS t20,
					(sum(m4)+sum(f4)) AS t30,
					(sum(m5)+sum(f5)) AS t40,
					(sum(m6)+sum(f6)) AS t50,
					(sum(m7)+sum(f7)) AS t60,
					(sum(m8)+sum(f8)) AS t100
																									
					FROM conteneur 
					WHERE 
					DATE_FORMAT(datedec,"%V") BETWEEN :nsdb AND :nsf 
					AND
					DATE_FORMAT(datedec,"%X") BETWEEN  :an AND :anf
								
					');	
					$andb  	=trim(htmlspecialchars($_POST['an']));
					$anf   	=trim(htmlspecialchars($_POST['anf']));
					$nsdb	        =trim(htmlspecialchars($_POST['nsdb']));
					$nsf	=trim(htmlspecialchars($_POST['nsf']));
 
					$tbordnat->bindParam(':an',   $andb , PDO::PARAM_INT); 
					$tbordnat->bindParam(':anf',  $anf 	, PDO::PARAM_INT); 
					$tbordnat->bindParam(':nsdb', $nsdb , PDO::PARAM_INT); 
					$tbordnat->bindParam(':nsf',  $nsf 	, PDO::PARAM_INT); 
 
					$tbordnat->execute();
					// On récupère en 1er toutes les données
					$datanat = $tbordnat->fetchAll(PDO::FETCH_ASSOC);
					// libèré la connexion du serveur
				        $tbordnat->closeCursor();
						}	
					catch( Exception $e ){
						  echo 'Erreur d\'affichage : ', $e->getMessage();
						  }
							/*----------------- fin affichage */
			}
 
?>
pour voir le résultat , le var_dump retourne :
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
 
array
  0 => 
    array
 
      'm' => string '8' (length=1)
      'f' => string '8' (length=1)
      'm1' => string '15' (length=2)
      'f1' => string '13' (length=2)
      'm2' => string '1' (length=1)
      'f2' => string '9' (length=1)
      'm3' => string '6' (length=1)
      'f3' => string '6' (length=1)
      'm4' => string '3' (length=1)
      'f4' => string '15' (length=2)
      'm5' => string '2' (length=1)
      'f5' => string '8' (length=1)
      'm6' => string '0' (length=1)
      'f6' => string '8' (length=1)
      'm7' => string '0' (length=1)
      'f7' => string '8' (length=1)
      'm8' => string '10' (length=2)
      'f8' => string '7' (length=1)
      'Total_M' => string '45' (length=2)
      'Total_F' => string '82' (length=2)
      't5' => string '44' (length=2)
      't10' => string '10' (length=2)
      't20' => string '12' (length=2)
      't30' => string '18' (length=2)
      't40' => string '10' (length=2)
      't50' => string '8' (length=1)
      't60' => string '8' (length=1)
      't100' => string '17' (length=2)
il me retourne le résultat de la première semaine de l'année 2012 au lieu de la somme de la 1 semaine 2011 jusqu’à première semaine 2012.