Bonjour,
j'utilise un formulaire de recherche multicritere qui fonctionne plutot bien mais je n'arrive pas à faire une recherche de plusieurs mot dans un champ.
Par exemple si je tape Paul, il m'affiche tous les noms paul mais si je tape paul jean il ne trouve aucun résultat, ni de paul ni de jean.
Ce que je voudrais c'est qu'il affiche les documents de paul et de jean quand je cherche paul jean.
Si quelqu'un a une une petite idée sur les changements à effectuer...
$nom = $_POST['nom];
$champ1 = "nom";
$prenom = $_POST['prenom'];
$champ2 = "prenom";
$age = $_POST['age'];
$champ3 = "age";
if(empty($_POST['nom']))
{
$nom = 1;
$champ1 = 1;
}
if(empty($_POST['prenom']))
{
$prenom = 1;
$champ2 = 1;
}
if(empty($_POST['age']))
{
$age = 1;
$champ3 = 1;
}
$host = '*****';
$user = '*****';
$pass = '*****';
$db = '*****';
$tables = 'personne';
// connection à la DB
mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
$select = "SELECT * FROM $tables WHERE $champ1 = '$nom' AND $champ2 = '$prenom' AND $champ3 = '$age'";
if($nom=="" AND $prenom=="" AND $age=="")
echo 'Vous devez preciser en moins un critére de recherche !!';
else
{
$result = mysql_query($select) or die ('Erreur : '.mysql_error());
$total = mysql_num_rows($result);
if($total)
{
echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
echo "<tr>";
while($row = mysql_fetch_array($result))
{
echo '
<td>
<div class="b13">
<table>
<h2>'.$row['prenom'].'</h2>
<tr>
<td>'.$row['age'].'</td>
<td>'.$row['img'].'</td>
</tr>
</table>
</div>
</td>
</tr>';
}
echo '
</table>';
}
else echo '<div align="center">Aucun résulat ne corresponds à votre recherche !!...</div>';
mysql_free_result($result);
mysql_close();
}
?>