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 :
et voici mon code php :
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 voila mon message d'erreur :
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"]; }?>
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
Partager