Partage
  • Partager sur Facebook
  • Partager sur Twitter

moteur de recherche dans deux champs

suis ds les oeufs... :s

    25 avril 2011 à 18:43:47

    Bonjour,
    Tout d'abord joyeuses paques à tous !!! :p
    Alors voilà :
    J'ai installé sur mon site un petit moteur de recherche que j'ai pris sur le site du zero, je fais cherché mon moteur dans le champ "nom" de ma base de données , j'aimerai également le faire chercher dans une deuxieme champs : "ville" qui se trouve sur la meme table (camping)

    Si je comprends bien tout va se jouer avec
    $valeur_requete .= '' . $and_ou_or . 'nom LIKE \'%' . $mots[$nombre_mots_boucle] . '%\'';//modification de la variable $valeur_requete
    }
    $valeur_requete = ltrim($valeur_requete,$and_ou_or); //suppression de AND ou de OR au début de la boucle 
    
    $requete_recherche = "SELECT * FROM camping WHERE site='cb' AND $valeur_requete $piscine $tennis $[/contents/wifi/wifiintro.php3 wifi] $jeux $lavelinge $resto $animaux ORDER BY nom";
    




    Et surtout le "'nom LIKE \'%'', comment je peux lui dire d'aller chercher dans un autre champ ? J'ai essayé les OR et AND mais ça passe pas




    Une bonne partie du code :
    else //si le mode de recherche n'est pas par expression exacte
    {
    $mots = explode(" ", $recherche); //séparation des mots
    $nombre_mots = count ($mots); //compte le nombre de mots
    $valeur_requete = '';
    for($nombre_mots_boucle = 0; $nombre_mots_boucle < $nombre_mots; $nombre_mots_boucle++) //tant que le nombre de mots de la recherche est supérieur à celui de la boucle, on continue en augmentant le nombre de mots de 1 à chaque fois
    {
    $valeur_requete .= '' . $and_ou_or . 'nom LIKE \'%' . $mots[$nombre_mots_boucle] . '%\'';//modification de la variable $valeur_requete
    }
    $valeur_requete = ltrim($valeur_requete,$and_ou_or); //suppression de AND ou de OR au début de la boucle 
    
    $requete_recherche = "SELECT * FROM camping WHERE site='cb' AND $valeur_requete $piscine $tennis $wifi $jeux $lavelinge $resto $animaux ORDER BY nom";
    $selection_recherche = mysql_query($requete_recherche) or die("Erreur dans $requete_recherche :<br />".mysql_error()); //requête avec le résultat de la boucle dedans 
    }
    


    Et pour info, mon site : http://www.campingbiarritz.fr/

    Suis en PHP5


    MERCI BCP
    • Partager sur Facebook
    • Partager sur Twitter
      26 avril 2011 à 4:22:55

      Salut,

      On est dans le forum SQL essaie de nous mettre des requetes SQL et pas tout ton code PHP ;)
      Pour ton probleme tu peux utiliser OR je sais pas pourquoi t'as pas reussi : WHERE truc LIKE "%recherche%" OR machin LIKE "%recherche%".

      Et mieux, tu peux utiliser MATCH AGAINST cf http://dev.mysql.com/doc/refman/5.5/en [...] language.html
      SELECT * FROM latable WHERE MATCH(truc,machin) AGAINST('recherche')
      • Partager sur Facebook
      • Partager sur Twitter

      moteur de recherche dans deux champs

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown