Bonjour,
je souhaite récupérer les dates sur 30 jours dans la base mysql pour les mettre dans un graph
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
select DISTINCT date as nb from TRI_LOG where date=CURRENT_DATE()-$i
je récupère bien les dates du 03/12/2013 jusqu'au 01/12/2013, par contre il me récupère rien sur le mois précédent.
J’ai essayé la requête directement dans la base en remplacent le $i par 10 et je récupère bien une date du mois précédent.
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
select DISTINCT date as nb from TRI_LOG where date=CURRENT_DATE()-10 and instance='11'

voici le code qui pose problème

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
 
// variable pour choisir le nombre de jours pour le graph
$j = "30";
 
//déclaration du tableau
$date = array();
 
// boucle pour récupérer x jours de la variable $j  de la requete mysql
for ($i = 1; $i <= $j; $i++) 
{
 
// récupère les données de l'axe X de la base TRI_LOG pour la date
$sql_requete = "select DISTINCT date as nb from TRI_LOG where date=CURRENT_DATE()-$i and instance='11'";
$mysqlCnx = @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) or die('Pb de connxion mysql');
// mysql_select_db   Sélectionne une base de données MySQL
@mysql_select_db(MYSQL_DATABASE) or die('Pb de sélection de la base');
// mysql_query   Envoie une requête à un serveur MySQL
$result = @mysql_query($sql_requete, $mysqlCnx) or die('Pb de requête');
 
// récupere la donnée et la met dans la variable date
$row = mysql_fetch_assoc($result);
array_push($date, $row['nb']);
// affiche la variable
print_r($date);
sous php cela donne :
Array ( [0] => 2013-12-03 [1] => 2013-12-02 [2] => 2013-12-01 [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] => )
Il me récupère le mois en cours par contre pas le précédent.
Merci pour votre aide.