par
MiaoLee » 27 août 2023, 10:22
Bonjour à tous,
Pour alimenter mon graphique j'execute une requête qui va interroger ma base de données et voici un exemple de ce qui m'est retourné :
Code : Tout sélectionner
+------+------+
| oper | dte |
+------+------+
| 1510 | 7 |
| 5965 | 8 |
| 250 | 10 |
+------+------+
Comme vous le voyez dte qui représente les mois n'est pas complet avec un foreach j'obtien un tableau associatif comme ceci :
$arr = [];
$rs_all = $conn->prepare('SELECT sum(o.operation) oper, MONTH(o.date_operation) dte
FROM operation o
WHERE idx_foyer = 10 AND YEAR(o.date_operation) = YEAR(curdate())
GROUP BY dte');
$rs_all->execute();
foreach($rs_all as $ind => $rs){
$arr[$ind] = [
'montant'=>$rs[0],
'mois'=>$rs[1]
];
}
Code : Tout sélectionner
array (
0 =>
array (
'montant' => 1510.0,
'mois' => 7,
),
1 =>
array (
'montant' => 5965.0,
'mois' => 8,
),
2 =>
array (
'montant' => 250.0,
'mois' => 10,
),
Pouvez vous me donner une piste pour ajouter au tableau associatif les mois manquants s'il vous plait ?
Merci d'avance pour votre aide.
Bonjour à tous,
Pour alimenter mon graphique j'execute une requête qui va interroger ma base de données et voici un exemple de ce qui m'est retourné :
[code]+------+------+
| oper | dte |
+------+------+
| 1510 | 7 |
| 5965 | 8 |
| 250 | 10 |
+------+------+[/code]
Comme vous le voyez dte qui représente les mois n'est pas complet avec un foreach j'obtien un tableau associatif comme ceci :
[PHP] $arr = [];
$rs_all = $conn->prepare('SELECT sum(o.operation) oper, MONTH(o.date_operation) dte
FROM operation o
WHERE idx_foyer = 10 AND YEAR(o.date_operation) = YEAR(curdate())
GROUP BY dte');
$rs_all->execute();
foreach($rs_all as $ind => $rs){
$arr[$ind] = [
'montant'=>$rs[0],
'mois'=>$rs[1]
];
}[/PHP]
[code]array (
0 =>
array (
'montant' => 1510.0,
'mois' => 7,
),
1 =>
array (
'montant' => 5965.0,
'mois' => 8,
),
2 =>
array (
'montant' => 250.0,
'mois' => 10,
),[/code]
Pouvez vous me donner une piste pour ajouter au tableau associatif les mois manquants s'il vous plait ?
Merci d'avance pour votre aide.