Re ; j'ai une requête préparé paramétré qui récupère des données de la BDD selon un champs paramétré année sous forme de balise select, tout fonctionne bien.
le select contiens en premier mot an ensuite tous les années extract de la BDD
l'affichage des données se fait partie html
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 ........ if (isset($_POST['validform'])) { if((isset ($_POST['an']) ) AND ($_POST['an'] <> "an")) { $cbd->exec("SET lc_time_names = 'fr_FR'"); $tbord=$cbd->prepare(' SELECT MONTHNAME(datedec)AS Mois ,MONTH(datedec),sum(m2)as m2, sum(f2)as f2, sum(m3)as m3,sum(f3)as f3,sum(m4)as m4,sum(f4)as f4 FROM `conteneur` WHERE YEAR(datedec)=:an '); try { // On envois la requète $tbord->bindParam(':an', $_POST['an'] , PDO::PARAM_INT); $tbord->execute(); // On récupère en 1er toutes les données $datalist = $tbord->fetchAll(PDO::FETCH_ASSOC); // libéré la connexion du serveur $tbord->closeCursor(); } catch( Exception $e ){ echo 'Erreur d\'affichage : ', $e->getMessage(); } } else { header ('location: tab.php?page=bord'); } }
dans le cas ou l'utilisateur valide le contenu de la balise select en choisissant "an" a la place d'une année (2010 ou autre )la variable $datalist n'est plus reconnue et le script génère l'erreur
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 ......... <?php // début affichage foreach ($datalist as $list){ ?> <tr> <td class="nbcas">Nombre de cas</td> <td class="nbcas"><?php if (!empty($list['m'])) { echo$list['m']; } else echo'0'; ?></td> <td class="nbcas"><?php if (!empty($list['f'])) { echo$list['f']; } else echo'0'; ?></td> <td class="nbcas"><?php if (!empty($list['m1'])) { echo$list['m1']; } else echo'0';?></td> <td class="nbcas"><?php if (!empty($list['f1'])) { echo$list['f1']; } else echo'0';?></td> <td class="nbcas"><?php if (!empty($list['m2'])) { echo$list['m2']; } else echo'0';?></td> <td class="nbcas"><?php if (!empty($list['f2'])) { echo$list['f2']; } else echo'0'; ?></td> <td class="nbcas"><?php if (!empty($list['m3'])) { echo$list['m3']; } else echo'0';?></td> <td class="nbcas"><?php if (!empty($list['f3'])) { echo$list['f3']; } else echo'0'; ?></td> <td class="nbcas"><?php if (!empty($list['m4'])) { echo$list['m4']; } else echo'0';?></td> <?php // fin affichage } ?>.Notice: Undefined variable: datalist in C:\wamp\www\s3g\interfaces\bord.inc.php on line 111
comment détourné ce problème ?![]()
Partager