Bonjour,

Je suis de retour parmi vous pour encore évoluer dans mes requêtes, j'ai beaucoup évolué en venant sur le forum, mais là je ne trouve pas.

J'ai un BDD relationnelle où je dois extraire des données dans plusieurs tables.
J'ai fait une première requête qui fonctionne à merveille (j'obtiens les ID souhaitées), mais voulant éviter des requêtes par la suite, je tente de le faire tout dans la première requête et je n'obtiens malheureusement qu'une page blanche.

Voici la requête qui fonctionne :
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
 
		$reponse_modif = mysqli_query($conn_cecs, "SELECT * 
			FROM 00_compta_dates dates
				LEFT JOIN (SELECT * FROM 00_compta_options WHERE compta_options_prop_id='$s_prop_actif_id' ORDER BY compta_options_option_id) options ON dates.compta_dates_id=options.compta_options_date_id 
				LEFT JOIN (SELECT * FROM 00_compta_cours WHERE compta_cours_prop_id='$s_prop_actif_id' ORDER BY compta_cours_chien_id) cours ON dates.compta_dates_id=cours.compta_cours_date_id 
				LEFT JOIN (SELECT * FROM 00_compta_divers WHERE compta_divers_prop_id='$s_prop_actif_id') divers ON dates.compta_dates_id=divers.compta_divers_date_id 
				LEFT JOIN 00_compta_remarques rmq ON cours.compta_cours_remarque_id=rmq.compta_remarques_id 
			WHERE compta_dates_date='$cours_jour_modif_date_en'") or die(mysqli_error($conn_cecs)); 
		while ($in=mysqli_fetch_array($reponse_modif)) { 
			$cours_modif_option_id=$in['compta_options_option_id'];
			$cours_modif_option_somme_htva=$in['compta_options_somme'];
			$cours_modif_option_somme_tva=$in['compta_options_tva'];
			$cours_modif_option_paiement_type=$in['compta_options_paiement_type'];
 
			$cours_modif_cours_somme_htva=$in['compta_cours_somme'];
			$cours_modif_cours_somme_tva=$in['compta_cours_tva'];
			$cours_modif_cours_paiement_id=$in['compta_cours_paiement_type'];
			$cours_modif_cours_chien_id=$in['compta_cours_chien_id'];
			$cours_modif_cours_chien_classe_id=$in['compta_cours_classe_id'];
 
			$cours_modif_divers_somme_htva=$in['compta_divers_somme'];
			$cours_modif_divers_somme_tva=$in['compta_divers_tva'];
			$cours_modif_divers_somme_type=$in['compta_divers_somme_type'];
			$cours_modif_divers_paiement_type=$in['compta_divers_paiement_type'];
			$cours_modif_divers_texte=$in['compta_divers_texte'];
 
			print "- $cours_modif_option_id - $cours_modif_cours_chien_id - $cours_modif_divers_texte<br />";
		}
Voici la requête qui rend une page blanche :
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
32
33
34
35
36
 
		$reponse_modif = mysqli_query($conn_cecs, "SELECT * 
			FROM 00_compta_dates dates
				LEFT JOIN (SELECT * FROM 00_compta_options WHERE compta_options_prop_id='$s_prop_actif_id' ORDER BY compta_options_option_id) options ON dates.compta_dates_id=options.compta_options_date_id 
				LEFT JOIN (SELECT * FROM 00_compta_divers WHERE compta_divers_prop_id='$s_prop_actif_id') divers ON dates.compta_dates_id=divers.compta_divers_date_id 
				LEFT JOIN 00_compta_remarques rmq ON cours.compta_cours_remarque_id=rmq.compta_remarques_id 
				LEFT JOIN (SELECT * 
							FROM 00_compta_cours cours_chien
								INNER JOIN 03_chien chien ON cours_chien.compta_cours_chien_id=chien.id_chien 
								INNER JOIN 04_cours_classe classe ON cours_chien.compta_cours_classe_id=classe.cours_classe_id 
							WHERE compta_cours_prop_id='$s_prop_actif_id' 
							ORDER BY compta_cours_chien_id, compta_cours_classe_id cours_chien
				) cours ON dates.compta_dates_id=cours.compta_cours_date_id 
			WHERE compta_dates_date='$cours_jour_modif_date_en'") or die(mysqli_error($conn_cecs)); 
		while ($in=mysqli_fetch_array($reponse_modif)) { 
			$cours_modif_option_id=$in['compta_options_option_id'];
			$cours_modif_option_somme_htva=$in['compta_options_somme'];
			$cours_modif_option_somme_tva=$in['compta_options_tva'];
			$cours_modif_option_paiement_type=$in['compta_options_paiement_type'];
 
			$cours_modif_cours_somme_htva=$in['compta_cours_somme'];
			$cours_modif_cours_somme_tva=$in['compta_cours_tva'];
			$cours_modif_cours_paiement_id=$in['compta_cours_paiement_type'];
			$cours_modif_cours_chien_id=$in['compta_cours_chien_id'];
			$cours_modif_cours_chien_nom=$in['c_nom'];
			$cours_modif_cours_chien_classe_nom=$in['cours_classe_nom'];
			$cours_modif_cours_chien_classe_id=$in['compta_cours_classe_id'];
 
			$cours_modif_divers_somme_htva=$in['compta_divers_somme'];
			$cours_modif_divers_somme_tva=$in['compta_divers_tva'];
			$cours_modif_divers_somme_type=$in['compta_divers_somme_type'];
			$cours_modif_divers_paiement_type=$in['compta_divers_paiement_type'];
			$cours_modif_divers_texte=$in['compta_divers_texte'];
 
			print "- $cours_modif_option_id - [$cours_modif_cours_chien_id] $cours_modif_cours_chien_nom ($cours_modif_cours_chien_classe_id - $cours_modif_cours_chien_classe_nom) - $cours_modif_divers_texte<br />";
		}
J'ai recherché mon erreur, mais en vain pour pour l'instant, si quelqu'un a une idée, je suis preneur.
Le problème est dans l'ajout de la requête du dernier LEFT JOIN où cela ne fonctionne pas, pour extraire le nom du chien et le nom de la classe du même chien à partir de leur ID.

@+
ddaweb

EDIT :
- pour l'instant je fait "SELECT *", une fois que cela fonctionne, je vais mettre le nom des champs pour optimiser
- Quand je dis page blanche, c'est que rien ne se passe comme s'il n'y avait pas de page, mais pas d'erreur sql : c'est une page inclue dans une autre