Filtrage sql

Résolu
Signaler
Messages postés
44
Date d'inscription
dimanche 27 avril 2003
Statut
Membre
Dernière intervention
28 octobre 2009
-
Messages postés
158
Date d'inscription
samedi 8 février 2003
Statut
Membre
Dernière intervention
17 juin 2010
-
bonjour à tous
je suis débutant en php je voulais savoir comme optimiser un moteur de recherche
qui se trouve sur mon site http://leaderauto.free.fr

j'ai un moteur de recherche avec de marques, modeles, type ect..
je voudrais que quand l'utilisateur clique sur la marque il liste une marque dans la base sinon il laisse sur indif il liste toute les marques ainsi de suite pour les modeles et les types

exemple on saisie "Renault" et on laisse le combo modele vide sur indiff il liste toutes les annonces qui sont réferencéés sous la marque "Renault"

voici une partie de mon code
<? include ('connect.php'); // conx bd
$sql="select * from annonce, marque where annonce.idmarque=marque.idmarque and marque.idmarque='$idmarque' and modele='$modele' and type='$type' ";
$res=mysql_query($sql) or die (mysql_error());
$tot=mysql_num_rows($tot);
?>
ect...
puis le tableaux qui affiche les annonces de la base

merci de votre aide si vous aviez un exemple merci d'avance et bon dev à tous

1 réponse

Messages postés
158
Date d'inscription
samedi 8 février 2003
Statut
Membre
Dernière intervention
17 juin 2010

une solution pourrait être de construire ta requête en fonction des champs rentrés par l'utilisateur :

<? include ('connect.php'); // conx bd

$sql="SELECT * FROM
annonce, marque where annonce.idmarque=marque.idmarque ";

if(isset($idmarque))

{

$sql .= " AND
marque.idmarque='$idmarque' ";

}

if(isset($modele))


{


$sql .= " AND modele='$modele' ";

}

// etc ...

?>

-*- switch -*-