Mammouth du PHP |
19672 Messages
20 nov. 2006, 10:47
En créant une clause après l'autre et en stockant chacune dans un tableau pour ensuite construire la clause WHERE dynamiquement. Illustration :
<?php
/* On crée un tableau pour stoquer les clauses possibles */
$clauseWhere = array();
/* On définit un opérateur : "AND" si on veut TOUTES les conditions, "OR" si on en veut au moins une */
$operateur = " AND "; /* ATTENTION, on oublie pas de laisser un espace de chaque coté de l'opérateur */
/* Création de chaque clause */
if(isset($_POST['recherche']))
{
$clauseWhere[] = "ref = '".$_POST['recherche']."'";
}
if(isset($_POST['nom']))
{
$clauseWhere[] = "nom = '".$_POST['nom']."'";
}
/* Si on a au mois une clause, on l'ajoute à la requête */
if(count($clauseWhere) > 0)
{
$sql_recherche = "WHERE ". implode($operateur, $clauseWhere);
}
?>
Tu peux de cette manière le faire sur autant de clauses que tu veux.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse 