par
Cyrano » 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.
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]<?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);
}
?>[/php]
Tu peux de cette manière le faire sur autant de clauses que tu veux.