Bonsoir,
j'ai des soucis pour faire ce test. Voici mon code :La requête SQL est correcte (testée avec phpMYAdmin) ; en principe les champs sont non vides, mais ça me dit que si (et si je décommente les lignes 13 et 14, lignes blanches)
Code php : 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 $sql = 'SELECT question_name FROM `questions` t1 JOIN `consultation_type_question` t2 ON t2.id_question=t1.id_question JOIN `consultation_type` t3 ON t2.id_consultation_type=t3.id_consultation_type WHERE t3.titre_consultation_type="médecin"'; $prep = $connexion->prepare($sql); $prep->execute(); $sortie=0; while($question_name = $prep->fetch()) { //echo "name:".$question_name."<br/>"; //echo "POST:".$_POST[$question_name]."<br/>"; if (empty($_POST[$question_name])) {$sortie=1; continue;} }
J'ai un peu modifié le code :Il n'y a plus de page blanche, mais les echo des lignes 14 et 15 ne sont pas affichés, donc on ne passe pas dans la boucle alors que le var_dump juste avant montre qu'on devrait (PDO doit retourner un objet et celui-ci est non vide), et ça affiche "non vide"; j'y comprends rien...
Code php : 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 $sql = 'SELECT question_name FROM `questions` t1 JOIN `consultation_type_question` t2 ON t2.id_question=t1.id_question JOIN `consultation_type` t3 ON t2.id_consultation_type=t3.id_consultation_type WHERE t3.titre_consultation_type="médecin"'; $prep = $connexion->prepare($sql); $prep->execute(); var_dump($prep->fetch()); $sortie=0; while($question_name = $prep->fetch()) { echo "name:".$question_name."<br/>"; echo "POST:".$_POST[$question_name]."<br/>"; if (empty($_POST[$question_name])) {$sortie=1; continue;} } if (!$sortie) { echo "non vide<br/>"; } else echo "un des champs est vide !";
Partager