Tirage des données par niveau

Résolu
kanzory Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
kanzory Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voici encore une question assez 'bete': je voulais faire un tirage des données par beaucoup de variable. Les variables sont venues des listes déroulantes. Le problème est que la variable reçue peut etre 'TOUS', et je ne connais pas comment gérer ce problème. Voici une essaie, mais j'ai une erreur :
Catchable fatal error: Object of class PDOStatement could not be converted to string

voici mon code:
if ($_POST['commune'] != "TOUS")
{
$req1 =$bdd -> query ("SELECT * FROM base8 WHERE commune ='".$_POST['commune']."'") or die (print_r($bdd->errorInfo()));
}
else {$req1 =$bdd -> query ("SELECT * FROM base8");}
if ($_POST['Poste_source'] != "TOUS")
{
$req2 =$bdd -> query ("SELECT * FROM $req1 WHERE poste_source = '".$_POST['Poste_source']."'") or die (print_r($bdd->errorInfo()));
}
else {$req2 = $req1;}
if ($_POST['depart'] != "TOUS")
{
$req3 =$bdd -> query ("SELECT * FROM $req2 WHERE depart = '".$_POST['depart']."'") or die (print_r($bdd->errorInfo()));
}
else {$req3 = $req2;}
if ($_POST['ID_emetteur'] != "TOUS")
{
$req4 =$bdd -> query ("SELECT * FROM $req3 WHERE ID_emetteur = '".$_POST['ID_emetteur']."'") or die (print_r($bdd->errorInfo()));
}
else {$req4 = $req3;}

voilà merci
A voir également:

1 réponse

Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
 
Bonjour,
Ton code n'est pas très logique, à ton premier IF, tu fais une requête, $req1 est donc ton jeu de résultat, tu ne peut pas l'insérer comme ça dans une autre requête (
SELECT * FROM $req1
).

Pour ton code, le plus simple est de construire ta requête, puis de faire ton query, un truc du genre :
$myquery="ELECT * FROM base8 WHERE 1";
if($_POST['commune'] != "TOUS")$myquery.=" AND commune='".$_POST['commune']."'";
$req1 =$bdd -> query ($myquery);

Par contre, vérifie ta sécurité, là j'ai repris ton code mais tu est vulnérable aux injections SQL.
1
kanzory Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
C'est bien ça que je voulais. Merci beacuoup :)
0