Bonjour,

J'ai un problème car j'essaie de faire des filtres en php et partir d'une base de données sous Mysql. Je dois choisir un critères dans plusieurs listes déroulantes. Mais je bloque à ce niveau.
J'arrive à faire lorsqu'il y a une liste déroulante mais quand il y en a plusieurs la ca coince.
Si quelqu'un a deja fait des filtres avec des liste déroulante. Peut il m'expliquer.
Car j'ai chercher sur le net, j'ai rien trouvé de concluant.
Voici ma requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
$type= "SELECT `etablissements`.`code_etablissement`, `etablissements`.`nom_etablissement`, `etablissements`.`adresse_etablissement`, `etablissements`.`bp`, `etablissements`.`cp_etablissement`, `etablissements`.`ville_etablissement`
FROM etablissements WHERE (`etablissements`.`type_etablissement`= '$montype')
INTERSECT
(SELECT `formations`.`code_produit_greta`, `formations`.`nom_formation`, `effectuer`.`code_produit_greta`, `effectuer`.`code_etablissement`, `etablissements`.`code_etablissement`, `etablissements`.`nom_etablissement`
FROM formations, effectuer, etablissements
WHERE `effectuer`.`code_etablissement` = `etablissements`.`code_etablissement`
AND `effectuer`.`code_produit_greta` = `formations`.`code_produit_greta`
AND `formations`.`nom_formation` = '$maFormation'
GROUP BY `effectuer`.`code_etablissement`)";
$result2 = mysql_query($type)  or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
et voici mon code php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<?php 
	//Retourne un tableau qui représente tous les champs d'une rangée dans le résultat.
	while($val = mysql_fetch_array($result2)){
					echo "<br>";
					echo $val["type_etablissement"]; 
					echo $val["nom_etablissement"];
					echo $val2["nom_formation"]; 					
					}?>
et voila mon message d'erreur :

Notice: Undefined variable: sql in c:\program files\easyphp1-8\www\cartographie\typeetablissement.php on line 18
Erreur SQL !
Erreur de syntaxe près de 'INTERSECT (SELECT `formations`.`code_produit_greta`, `formation' à la ligne 3

Le ligne 18 c'est :

$result2 = mysql_query($type) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

Merci