recherche multicritere dans un seul champ?

recherche multicritere dans un seul champ? - SQL/NoSQL - Programmation

Marsh Posté le 19-09-2007 à 19:30:12    

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 seul <input>.
Par exemple si je cherche dupont il m'affiche les informations concernant tous les duponts mais si je cherche dupont et muller je n'obtient rien...
exemple de ma table:
 
id | nom | prenom | age
____________________________
1 | dupont | paul | 30
____________________________
2 | muller | jean | 42
____________________________
3 | dupont | pierre | 53
 
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();
}
?>

Reply

Marsh Posté le 19-09-2007 à 19:30:12   

Reply

Marsh Posté le 19-09-2007 à 19:56:25    

si tu veux chercher sur plusieurs nom
 
WHERE (NOM = 'Dupont' OR NOM = 'Muller') AND ...

Reply

Marsh Posté le 19-09-2007 à 20:53:16    

Merci moi23372 mais j'ai déjà essayé sans succès....

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed