Plusieurs mots dans un même champ?

Signaler
Messages postés
3
Date d'inscription
mardi 21 août 2007
Statut
Membre
Dernière intervention
17 septembre 2007
-
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
-
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

Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Hello,

il faut que tu fasses 2 recherches, l'une avec Jean, l'autre avec Paul, plus éventuellement une avec Jean Paul.
Messages postés
3
Date d'inscription
mardi 21 août 2007
Statut
Membre
Dernière intervention
17 septembre 2007

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?
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
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.