IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] moteur de recherche avec plusieurs mots-clés [Tutoriel]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 231
    Points : 73
    Points
    73
    Par défaut [Tableaux] moteur de recherche avec plusieurs mots-clés
    bonjour, j'aimerais créer un petit moteur de recherche, pas avec un seul mot clé mais avec plusieurs mots-clés.

    C'est-à-dire on saisit le ou les mots-clés sur un champ , ensuite on effectue une recherche dans une base et on doit trouver une réponse contenant en premier la plupart des mots saisis, et sinon le maximum des mots-clés qu'on peut en tirer.

    Merci d'avance

  2. #2
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 35
    Points : 28
    Points
    28
    Par défaut
    cool... Ta question?

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 231
    Points : 73
    Points
    73
    Par défaut
    pardon ma question est : est-ce quelqu'un peut me montrer un exemple de code qui efffectue une recherche depuis une base de données ayant pour critère pas un seul mot-clé mais plusieurs avec comme premier resultat la réponse contenant le maximum de mots-clés

  4. #4
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Voici ce que je te propose comme ça de bon matin :

    5 parties majeures :

    1. fonction explode
    2. tu parcours le tableau de mots clefs et pour chaque :
    2.1 tu fais une requete SELECT FROM WHERE LIKE '%$mot%'
    2.2 tu stocke le resultat dans un tableau dedié au mot clef en question
    3. ensuite tu parcours tout tes tableaux de résultats pour savoir quel résultat apparait dans tout les tableaus ou dans moins => je verrais bien un dernier tableau de taille n (n étant le nombre de mots clefs) et où tableau[i] = ensemble des résultats pour i mots clefs parmis n
    4. tu affiche le tableau dans l'ordre que tu veux
    5. tu relis mon explication car je pense qu'elle est pas claire

    Bon dev

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 231
    Points : 73
    Points
    73
    Par défaut
    merci pour ta reponse, je vais l'essayer

  6. #6
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,

    Si tu utilises MySQL tu peux aussi passer tes champs en full-text et utiliser les commandes adaptées.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
     
    if(!empty($_GET['mots']))
    {
    	$sql = "SELECT * FROM ta_table WHERE MATCH(nom_champ) AGAINST('".$_GET['mots']."' IN BOOLEAN MODE)";
    	$res = mysql_query($sql) or die(mysql_error());
    	while($row = mysql_fetch_assoc($res))
    	echo $row['nom_champ'],'<br>';
    }
     
    ?>
    lien vers les sympboles de recherches :
    http://dev.mysql.com/doc/refman/4.1/...t-boolean.html

    + c'est le et logique
    * c'est la troncature
    etc.

    Bye
    Vive les roues en pierre

  7. #7
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Great !
    Merci 8)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. faire une recherche avec plusieurs mot-clés
    Par jakouz dans le forum Débuter
    Réponses: 2
    Dernier message: 16/12/2010, 13h50
  2. [MySQL] recherche avec plusieurs mots dans mon moteur
    Par hadjiphp dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 25/05/2009, 08h53
  3. moteur de recherche avec plusieurs mots clés
    Par kadiato dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 17/02/2009, 15h44
  4. recherche avec plusieurs mots-clé
    Par MAMANHOU dans le forum IHM
    Réponses: 6
    Dernier message: 12/07/2007, 10h05
  5. Moteur de recherche et plusieurs mots clés
    Par jack1234 dans le forum Langage
    Réponses: 13
    Dernier message: 14/12/2005, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo