<?php if( isset($_POST['Submit']) ){ $type_transac = isset($_POST['type_transaction'])?$_POST['type_transaction']:''; $type_bien = isset($_POST['type_de_bien'])?$_POST['type_de_bien']:''; $ville = isset($_POST['ville'])?$_POST['ville']:''; $sql = "SELECT * FROM annonce" ; //construction du where l'utilisateur peut seulement avoir choisie de recherche suivant //le type de transaction ou type de bien ect.. dans ce cas les champs qu'il a omis serons vide $prec = 0;//cette variable va dire si on'est a la premiere condition ou non $where = ""; if(!empty($type_transac)) { $where.= "type_transaction='$type_transac'"; $prec = 1;//signale que il y'a une condition appliquer donc sa va dire //On doit Mettre AND } if( !empty($type_bien) ) { if( $prec==0) { $where.=" type_de_bien='$type_bien'"; $prec=1; } else { $where.= " AND type_de_bien='$type_bien'"; $prec.=1; } } if( !empty($ville) ) { if( $prec==0) { $where.=" ville='$ville'"; $prec=1; } else { $where.= " AND ville='$ville'"; $prec.=1; } } $sql .= !empty($where)?" WHERE ".$where:''; echo " ".$sql." "; } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionle echo de la fin je l'ai fait juste pour voir si la requete est bien construit il te reste plus q'a l'executer et afficher le resultat
mysql_query($sql) or die(mysql_error()); while( $row = mysql_fetch_assoc($query) ) { echo $row['num_annonce']; }
SELECT * FROM annonce WHERE type_transaction='2' AND type_de_bien='10' AND ville='fes'est ce que les champs type_transaction et type_de_bien existe bien dans ta table et verfie aussi ton mysql_connect() et ajoute y or die(mysql_error()) pour voir
mysql_query($sql) or die(mysql_error());par
$query = mysql_query($sql) or die(mysql_error());
<option value="16">Riad</option>