Plusieurs mots dans un même champ?

sclormu67 Messages postés 3 Date d'inscription mardi 21 août 2007 Statut Membre Dernière intervention 17 septembre 2007 - 16 sept. 2007 à 18:37
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 - 17 sept. 2007 à 12:20
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 "\";
  echo \"----
\";
  while($row = mysql_fetch_array($result))
  {
    echo '
        <table>
'.$row['prenom'].'

    ----
        
        , '.$row['age'].'</td>
        '.$row['img'].',
    

        </td>
    </tr>';
  }
    echo '
</table>';
}
else echo '
Aucun r&eacute;sulat ne corresponds &agrave; votre recherche !!...
';

mysql_free_result($result);
mysql_close();
}
?>

3 réponses

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
16 sept. 2007 à 20:06
Hello,

il faut que tu fasses 2 recherches, l'une avec Jean, l'autre avec Paul, plus éventuellement une avec Jean Paul.
0
sclormu67 Messages postés 3 Date d'inscription mardi 21 août 2007 Statut Membre Dernière intervention 17 septembre 2007
17 sept. 2007 à 00:38
Merci pour la réponse mais ça fait beaucoup de champs de recherche. Est ce posible de faire la recherche dans le même champ?
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
17 sept. 2007 à 12:20
Oui enfin quand je dis 2 recherches, excuse-moi je ne suis pas clair du tout, je veux dire scinder les mots-clés en 2, avec WHERE champ = 'jean' OR champ = 'paul'. ou avec LIKE et aussi %, selon tes besoins.
0
Rejoignez-nous