Recherche avancee avec php mysql

Résolu/Fermé
MrFetouaki Messages postés 48 Date d'inscription mercredi 1 décembre 2010 Statut Membre Dernière intervention 8 février 2012 - 5 févr. 2012 à 21:45
afrnos Messages postés 59 Date d'inscription mercredi 26 novembre 2008 Statut Membre Dernière intervention 12 avril 2012 - 5 févr. 2012 à 22:34
Bonjour,
j'ai un problème avec la recherche avancée(multicritère) dans mon site,
voila mon formulaire de recherche:
---------------------------------------
<form method="post" action="resultats.php">
<table cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td valign="top" id="formra">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td class="form-head">Recherche avancée</td>
</tr>
<tr>
<td>
<table cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td width="20"></td>
<td width="47" class="form-txt">Ville :</td>
<td width="139">
<label><select style="width:139px;" class="input" name="ville">
<option value="0">Toutes Villes</option>
<?php do { ?>
<option value="<?php echo $donneesformsearchville['ville']; ?>"><?php echo $donneesformsearchville['ville']; ?></option >
<?php }
while ($donneesformsearchville=mysql_fetch_assoc($resultatformsearchville));
?>
</select>
</label>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr><td height="8"></td></tr>
<tr>
<td>
<table cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td width="20"></td>
<td width="47" class="form-txt">Prix :</td>
<td width="139">
<label><select style="width:139px;" class="input" name="prix">
<option value="0">Tout prix</option>
<?php do { ?>
<option value="<?php echo $donneesformsearchprix['prix']; ?>"><?php echo $donneesformsearchprix['prix']; ?></option>
<?php }
while ($donneesformsearchprix=mysql_fetch_assoc($resultatformsearchprix));
?>
</select>
</label>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr><td height="8"></td></tr>
<tr>
<td>

<table cellspacing="0" cellpadding="0" border="0">
<tbody><tr>
<td width="20"></td>
<td width="47" class="form-txt">Type :</td>
<td width="139">
<label><select style="width:139px;" class="input" name="type">
<option value="0">Toutes Types</option>
<?php do { ?>
<option value="<?php echo $donneesformsearchtype['type']; ?>"><?php echo $donneesformsearchtype['type']; ?></option>
<?php }
while ($donneesformsearchtype=mysql_fetch_assoc($resultatformsearchtype));
?>
</select>
</label>

</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr><td height="31" align="right" ><input type="submit" value="" class="btnsearch"></td></tr>
</tbody>
</table>
</table>
<input type="hidden" name="action" value="1">
</form>
</div>
<!--fin recherche avance-->
et voila le code php ma page resultat.php
//resultat recherche avancee
if(isset($_POST['action']) && $_POST['action'] == 1){
//tout null ok
if($_POST["type"] == 0 && $_POST["prix"] == 0 && $_POST["ville"] == 0){
$search1="select * from articles where publie='Oui'";
$resultatsearch1=mysql_query($search1);
$donneessearch1=mysql_fetch_assoc($resultatsearch1);
}
//prix no null ville null prix null
elseif($_POST["prix"] !== 0 && $_POST["ville"] == 0 && $_POST["type"] == 0){
$search1="select * from articles where prix='".$_POST["prix"]."' and publie='Oui' order by date desc";
$resultatsearch1=mysql_query($search1);
$donneessearch1=mysql_fetch_assoc($resultatsearch1);
}
//type no null ville null type null ok
elseif($_POST["type"] !== 0 && $_POST["prix"] == 0 && $_POST["ville"] == 0){
$search1="select * from articles where type='".$_POST["type"]."' and publie='Oui' order by date desc";
$resultatsearch1=mysql_query($search1);
$donneessearch1=mysql_fetch_assoc($resultatsearch1);
}
//ville no null type null prix null
elseif($_POST["ville"] !== 0 && $_POST["prix"] == 0 && $_POST["type"] == 0){
$search1="select * from articles where ville='".$_POST["ville"]."' and publie='Oui' order by date desc";
$resultatsearch1=mysql_query($search1);
$donneessearch1=mysql_fetch_assoc($resultatsearch1);
}
//prix+ville no null type null
elseif($_POST["ville"] !== 0 && $_POST["prix"] !== 0 && $_POST["type"] == 0){
$search1="select * from articles where ville='".$_POST["ville"]."' and prix='".$_POST["prix"]."' and publie='Oui' order by date desc";
$resultatsearch1=mysql_query($search1);
$donneessearch1=mysql_fetch_assoc($resultatsearch1);
}
//prix type not null ville null
elseif($_POST["ville"] == 0 && $_POST["prix"] !== 0 && $_POST["type"] !== 0){
$search1="select * from articles where prix='".$_POST["prix"]."' and type='".$_POST["type"]."' and publie='Oui' order by date desc";
$resultatsearch1=mysql_query($search1);
$donneessearch1=mysql_fetch_assoc($resultatsearch1);
}

//ville type no null prix null
elseif($_POST["ville"] !== 0 && $_POST["prix"] == 0 && $_POST["type"] !== 0){
$search1="select * from articles where ville='".$_POST["ville"]."' and type='".$_POST["type"]."' and publie='Oui' order by date desc";
$resultatsearch1=mysql_query($search1);
$donneessearch1=mysql_fetch_assoc($resultatsearch1);
}
}

merci d'avance de votre aide




A voir également:

1 réponse

afrnos Messages postés 59 Date d'inscription mercredi 26 novembre 2008 Statut Membre Dernière intervention 12 avril 2012 16
5 févr. 2012 à 22:34
Bonsoir,

A quel niveau rencontres-tu un problème ? As-tu un message d'erreur ?
Le gros bloc qui tu balances, ne donne pas vraiment envie de lire :D
0