[PHP&SQL] insérer condition php dans requête
gugusco
-
Navid_92 Messages postés 778 Statut Membre -
Navid_92 Messages postés 778 Statut Membre -
Bonjour,
J'ai cherché des solutions sur le net sans succès donc je m'adresse vous:
A la base mon problème est de faire un formulaire de recherche via HTML et PHP et suivant les critères choisis, retourner les résultats de la base de donnée.
Mais comment faire pour que lorsque l'utilisateur est indifférent à un critère, il ne retienne pas ce critère dans la partie WHERE de la requête SQL.
J'avais pensé à utiliser une variable vide mais je pense qu'il va sélectionner pour ce critère les champs vides.
J'ai donc pensé à faire
En gros si l'utilisateur est inddifférent à ce critère, $critere n'existe pas et il n'utilise pas cette variable comme condition dans la requête.
Merci d'avance
J'ai cherché des solutions sur le net sans succès donc je m'adresse vous:
A la base mon problème est de faire un formulaire de recherche via HTML et PHP et suivant les critères choisis, retourner les résultats de la base de donnée.
Mais comment faire pour que lorsque l'utilisateur est indifférent à un critère, il ne retienne pas ce critère dans la partie WHERE de la requête SQL.
J'avais pensé à utiliser une variable vide mais je pense qu'il va sélectionner pour ce critère les champs vides.
J'ai donc pensé à faire
$critere = '' SELECT ... FROM ... WHERE if($critere){critere = $critere} (sans concaténer évidemment)
En gros si l'utilisateur est inddifférent à ce critère, $critere n'existe pas et il n'utilise pas cette variable comme condition dans la requête.
Merci d'avance
A voir également:
- [PHP&SQL] insérer condition php dans requête
- Insérer vidéo dans powerpoint - Guide
- Easy php - Télécharger - Divers Web & Internet
- Insérer signature word - Guide
- Excel cellule couleur si condition texte - Guide
- Expert php pinterest - Télécharger - Langages
5 réponses
Pas sur de tout comprendre, mais fais ta démarche en php.
if ($!critere) { unset($sqlplus) ; }
else { $sqlplus = 'if blablablabla ' ; }
Et dans ta requête sql, tu ajoute $sqlplus
$sql ="SELECT ... FROM ... WHERE $sqlplus (sans concaténer évidemment)";
if ($!critere) { unset($sqlplus) ; }
else { $sqlplus = 'if blablablabla ' ; }
Et dans ta requête sql, tu ajoute $sqlplus
$sql ="SELECT ... FROM ... WHERE $sqlplus (sans concaténer évidemment)";
Quand j'applique cela sans concaténer, il me met 'Undefined variable' pour $sqlplus dans la requête (car elle a été détruite par unset)
Oh lala.. T'es sur de vouloir coder ?
Fais du CMS ça me semble plus adapté..
Dans sqlplus rajoute where..
Là on parle pas de coding, juste de logique
Fin du suivi de ce post pour ma part
Fais du CMS ça me semble plus adapté..
Dans sqlplus rajoute where..
Là on parle pas de coding, juste de logique
Fin du suivi de ce post pour ma part
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tient un code fait vite fait, peut-être te conviendras-t-il mais comme on te l'a déjà dit si tu n'arrives par trop à faire cela, axes toi plus vers des CMS préfabriqués.
? Navid, alias DestEN-
? Contributeur sécurité
<?php if (isset($_POST['critere'])) { switch($_POST['critere']) { case 'nom' : $condition_query = 'WHERE critere = nom'; case 'prenom' : $condition_query = 'WHERE critere = prenom'; case 'age' : $condition_query = 'WHERE critere = age'; } } else $condition_query = null; $retour_query = mysql_query("SELECT * FROM nom_de_la_table $condition_query") or exit(mysql_error()); $stockage_donnees = mysql_fetch_array($retour_query); echo 'Nom: '.htmlspecialchars($stockage_donnees['nom']); echo 'Prénom: '.htmlspecialchars($stockage_donnees['prenom']); echo 'Age: '.htmlspecialchars($stockage_donnees['age']); ?>
? Navid, alias DestEN-
? Contributeur sécurité