Interrogation table temporaire
Voilà mon pb est-il possible d'interroger une table temporaire? Après plusieurs tests je ne récupère aucun résultats donc j'ai créé une table intermédiaire non temporaire que je peux lire. Ci dessous le code final modifé
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
$sql = '
/*création table global*/
DROP TABLE IF EXISTS `global`;
CREATE TABLE global ( `id` int NOT NULL, `sem` int NOT NULL, `l` int NOT NULL, `j` int NOT NULL);
/*création table temporaire semaine*/
CREATE TEMPORARY TABLE semaine ( `sem` int NOT NULL, `total_l` int NOT NULL, `total_j` int NOT NULL);
/*insersion des valeurs*/
INSERT INTO semaine SELECT WEEK(`date`,4) AS `sem` , SUM(`nbre`) AS `total_l`, 0 as `total_j`
FROM `presence` INNER JOIN `guides` ON `presence`.`id_guide` = `guides`.`id_guide` WHERE DAYOFWEEK( `date` ) = 2 AND `date` > '.$periode[1].' AND `date` < '.$periode[2].' GROUP BY `date` ORDER BY `date`;
INSERT INTO semaine SELECT WEEK(`date`,4) AS `sem` , 0 as `total_l`, SUM(`nbre`) AS `total_j`
FROM `presence` INNER JOIN `guides` ON `presence`.`id_guide` = `guides`.`id_guide` WHERE DAYOFWEEK( `date` ) = 5 AND `date` > '.$periode[1].' AND `date` < '.$periode[2].' GROUP BY `date` ORDER BY `date`;
/*ajout index*/
ALTER TABLE `semaine` ADD `id` INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`);
/*recopie des données*/
INSERT INTO `global` SELECT MIN(id) as id, sem, SUM(COALESCE(total_l, 0)) AS l, SUM(COALESCE(total_j, 0)) AS j FROM semaine GROUP BY sem ORDER BY id;';
$pdo->query($sql);
//extraction des données
$stmt = $pdo->query('SELECT * FROM `global`');
foreach($stmt AS $row)
{//concaténation des données
$data .= '[\''.$row['sem'].'\','.$row['l'].','.$row['j'].'],';} |
Merci