Bonsoir,

j'ai des soucis pour faire ce test. Voici mon code :
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;}
		}
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)

J'ai un peu modifié le code :
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 !";
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...