Bonjour,
Merci à MIRRIX et à MAZARINI pour leur aide, j'ai pu adapter le code de MAZARINI à mon site "Agence immobililière" dont la particularitée est de vendre des fonds de commerce dans 4 règions et 18 départements. Je suis entrain de transformer mon site HTML et JAVASCRIPT en PHP avec une bdd MYSQL et c'est la galère (je découvre tout).
Grace à vous le moteur de recherche marche mais pour des raisons de lecture et d'esthétique, j'aurais besoin de votre aide.
Pour l'instant, les résultats s'affichent sous la forme d'un seul tableau avec une entête , je souhaiterais que chaque résultat est son propre tableau (sans entête); j'y étais arrivé avec le premier code de MIRRIX mais le formulaire ne marchait pas correctement.
Voila mon formulaire, la page recherche ainsi que tableau
<form method="post" action="recherche9.php">
<p>
commerce :
<select name="code_commerce" value="Choisissez">
<option value="" selected="selected"></option>
<option>TABAC (presse)</option>
<option>TABAC (bar)</option>
<option>PRESSE</option>
<option>HOTEL-Bureau</option>
<option>HOTEL-Restaurant</option>
<option>BAR (brasserie)</option>
<option>Resto-Rapide)</option>
<option>CAMPING</option>
</select><br />
<br />
region :
<select name="region">
<option value="" selected="selected"></option>
<option>aquitaine</option>
<option>midi-pyrenees</option>
<option>languedoc-roussillon</option>
<option>limousin</option>
</select><br />
<br />
departement :
<select name="departement">
<option value="" selected="selected"></option>
<option>Dordogne 24</option>
<option>Gironde 33</option>
<option>Landes 40</option>
<option>Lot et Garonne 47</option>
<option>Pyrénées-Atlantiques 64</option>
<option>Ariège 09</option>
<option>Aveyron 12</option>
<option>Haute-Garonne 31</option>
<option>gers 32</option>
<option>Lot 46</option>
<option>Hautes-Pyrénées 65</option>
<option>Tarn 81</option>
<option>Tarn et Garonne 82</option>
<option>Aude 11</option>
<option>Gard 30</option>
<option>Hérault 34</option>
<option>Pyrénées-Orientales 66</option>
<option>Corrèze 19</option>
</select><br />
<br />
<input type="submit" value="Valider" /><br />
<?php
$host = "localhost";
$user = "root";
$pass = "";
$bdd = "XXXXXXXX";
// connexion
$cnx = mysql_connect($host,$user,$pass) or die("Impossible de se connecter");
$db = mysql_select_db("$bdd") or die("Impossible de se connecter");
if (mysql_connect ($host,$user,$pass))
{
echo 'Connexion réussie'; echo '<br>';
}
else
{
echo 'Connexion impossible...'.mysql_error(); echo '<br>';
}
// on récupère les critères sélectionnés
extract($_POST);
$i = 0;
// si la variable est présente, on lui affecte une place dans le tableau 'choix[]', qui nous servira ensuite à construire le WHERE de la requête.
if(!empty($commerce)) { $choix[$i++] = "commercel = '$commerce'"; }
if(!empty($region)) { $choix[$i++] = "region = '$region'"; }
if(!empty($departement)) { $choix[$i++] = "departement = '$departement'"; }
// etc... tu fais pareil pour chaque critère
// on insère les éléments remplis dans une variable $critere, en commençant par la première occurrence, puis on boucle
$critere = $choix[0]." ";
for($j=1;$j<$i;$j++)
{
$critere .= " AND ".$choix[$j]." ";
}
// enfin on fait la requête si $i >0, ça veut dire qu'il y a des critères
if($i > 0)
{
// requete de selection
$sql = "SELECT * FROM tous_commerces WHERE $critere ORDER BY ref";
$requete = mysql_query( $sql, $cnx ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
}
// si $i = 0, alors l'utilisateur n'a pas saisi de critère, là soit on fait la même requete mais sans "WHERE $critere", soit on lui demande de saisir au moins un critère.
else
{
$sql = "SELECT * FROM tous_commerces ORDER BY ref";
}
//récupération avec mysql_fetch_array(), et affichage de nos résultats :
echo( "<table border=\"1\" cellpadding=\"1\" cellspacing=\"1\" align=\"center\">\n" );
echo( "<tr>
<td><div align=\"center\">ref</div></td>
<td><div align=\"center\">commerce</div></td>
<td><div align=\"center\">region</div></td>
<td><div align=\"center\">departement</div></td>
<td><div align=\"center\">prix</div></td>
<td><div align=\"center\">descriptif</div></td>
</tr>" );
while( $result = mysql_fetch_array( $requete ) )
{
echo( "<tr>\n" );
echo( "<td><div align=\"center\">".$result["ref"]."</div></td>\n" );
echo( "<td><div align=\"center\">".$result["commerce"]."</div></td>\n" );
echo( "<td><div align=\"center\">".$result["region"]."</div></td>\n" );
echo( "<td><div align=\"center\">".$result["departement"]."</div></td>\n" );
echo( "<td><div align=\"center\">".$result["prix"]."</div></td>\n" );
echo( "<td><div align=\"center\">".$result["descriptif"]."</div></td>\n" );
/*echo( "<td><div align=\"center\"><form method='post' action='contact3.php'><input type='submit' value='Détails'/></form></div></td>\n" );*/
echo( "</tr>\n" );
}
echo( "</table><br>\n" );
?>
[html<table border="1" cellspacing="1" style="border-collapse: collapse" width="750" height="121" bordercolor="#CCCCCC" bordercolorlight="#C0C0C0" bordercolordark="#C0C0C0">
<tr>
<td id="ref" align="center"style="width: 65px; color: #0000FF; font-family: Verdana" bgcolor="#CCCCCC" ></td>
<td id="region" align="center" width="200" bgcolor="#CCCCCC"> </td>
<td id="departement"align="center" width="200" bgcolor="#CCCCCC" > </td>
<td id="EBE" align="center" width="142" bgcolor="#CCCCCC"> </td>
<td id="prix" style="color: #FF0000; font-family: Verdana; font-size: 10pt" align="center" width="145" bgcolor="#CCCCCC"> </td>
</tr>
<tr>
<td id="commerce" colspan="5" style="font-family: Verdana; font-weight: bold" align="center" width="750" bgcolor="#CCFFFF"> </td>
</tr>
<tr>
<td id="descriptif"colspan="5" align="left" width="750" valign="top"> </td>
</tr>
<tr>
<td colspan="4"> </td>
<td id="details" align="center" style="color: #0000FF; font-family: Verdana" width="150"> </td>
</tr>
</table>
][/html]
Merci pour votre aide
Cordialement