begin process at 2012 02 13 08:04:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Moteur de recherche avec plusieurs mots clés


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Moteur de recherche avec plusieurs mots clés

vendredi 20 mars 2009 à 11:20:50 | Moteur de recherche avec plusieurs mots clés

ptiniko

Bonjour,

J'ai un problème concernant une recherche en PHP avec plusieurs mots clés.

function search_friends($keywords, $debut, $fin)
=> $keywords est la chaine entière entrée dans un formulaire, $debut et
$fin sont là pour un affichage page par page (je ne l'ai pas encore développé)
{                                                                        
                $result_ar = array();  => $result_ar est un tableau pour tous mes resultats.                            
                $keywords_input=split(' ', $keywords);
=> ici je mets dans un tableau
$keywords_inputl'ensemble des mots clés via la fonction split (ex: si j'entre "paul pierre" j'obtiens un tableau avec les deux mots, logique).

                $requete=mysql_query("Select nom, prenom, username, id from utilisateurs");
                while ($result_db=mysql_fetch_array($requete))
                {
je déclare des variables qui correspondent aux resultats de la requete =>

                    $nom = $result_db[0];
                    $prenom = $result_db[1];
                    $username = $result_db[2];
                    $id = $result_db[3];

pour chaque mots clés que j'ai rentré=>         
                   foreach($keywords_input as $keyword)
                        {
                      si la différence entre le champ username de la bdd et le mot clé est pas trop grand (<3) =>
                            if (levenshtein($keyword, $username)<3)
                            {             
                                 alors j'ajoute l'entrée à mon tableau=>
                                            $result_ar = array($id => $username);
                            }
   la meme chose pour les champs $nom et $prenom:                        
                            if (levenshtein($keyword, $nom)<3)
                            {       
                                            $result_ar= array($id => $nom);
                            }
                           
                            if (levenshtein($keyword, $prenom)<3)
                            {   
                                            $result_ar= array($id => $prenom);
                            }
                        }
                }  
     j'éclate le tableau:
var_dump($result_ar);
                   
  

Par la suite, j'enlèverai les doublons sur l'id.

Mon pb est que pour un mot clé ca marche très bien, mais dès que, comme au dessus, il y a deux mots clés, la recherche ne me trouve les resultats que pour un seul.

Je ne vois pas ou j'aurai pu faire l'erreur.

Merci de votre aide.
  

Niko

vendredi 20 mars 2009 à 19:31:53 | Re : Moteur de recherche avec plusieurs mots clés

stanilou

Membre Club
Salut,

"split" est plutôt réservé pour un autre usage, tu auras la même chose avec "explode" dans changer tes paramètres. Mais bon c'est juste une petite remarque sans rapport avec ta question.

Il ne cherche que pour un seul mot clés, mais toujours le même (toujours le premier par exemple) ou aléatoirement?
vendredi 20 mars 2009 à 19:46:11 | Re : Moteur de recherche avec plusieurs mots clés

ptiniko

Merci pour le explode ;)

J'ai fait un test. J'ai rajouté une entré dans la bdd. Et c'est l'entrée pour laquelle il me sort les résultats.
Donc je mets un var_dump dans la boucle et je vois qu'en fait mon array est écrasé à chaque fois.
Comment ca se fait ? Mauvaise utilisation du array ? =S

Et p'tite question au passage, dans un form avec plein de radio, comment j'peux faire pour qu'on puisse en sélectionner qu'un seul ?

Merci pour ton aide :)

Niko

vendredi 20 mars 2009 à 19:49:07 | Re : Moteur de recherche avec plusieurs mots clés

stanilou

Membre Club
$result_ar= array($id => $prenom);

Cela créer un nouveau tableau nommé
$result_ar. Mais n'ajoute pas de valeur. En gros ton tableau est à chaque fois remis à 0. Il y a une autre fonction pour ajouter un élément à un tableau (je ne l'ai plus en tête là)
vendredi 20 mars 2009 à 19:52:34 | Re : Moteur de recherche avec plusieurs mots clés
vendredi 20 mars 2009 à 20:04:00 | Re : Moteur de recherche avec plusieurs mots clés

ptiniko

Merci :).

Il me parle maintenant de double_array. J'regarde ca. Si j'm'en sors pas j'reviens ici ^^.

Merci ;)

Niko

vendredi 20 mars 2009 à 20:05:11 | Re : Moteur de recherche avec plusieurs mots clés

ptiniko

Ah non. Double_arrow. Autant pour moi. (Parait qu'on doit écrire au temps pour moi ... J'vois pas pourquoi).

Niko

vendredi 20 mars 2009 à 20:08:04 | Re : Moteur de recherche avec plusieurs mots clés

stanilou

Membre Club
Double_arrow? Où est ce que tu obtiens ça?
vendredi 20 mars 2009 à 20:14:34 | Re : Moteur de recherche avec plusieurs mots clés

ptiniko

Ben au niveau de "array_push($result_ar, $id => $username)"

Tu crois qu'on peut pas l'utiliser comme ca (avec le couple clé valeur) ?

J'ai pas vu d'exemples ou cette fonction est utilisée comme ca.

Niko

vendredi 20 mars 2009 à 20:18:16 | Re : Moteur de recherche avec plusieurs mots clés

stanilou

Membre Club
Ah oui c'est vrai que tu utilise une redéfinition de la clé, alors plus simple fait:

$result_ar[$id] = $username;

1 2

Cette discussion est classée dans : mots, result, clés, ar, keywords


Répondre à ce message

Sujets en rapport avec ce message

extraire des mots clés d'un texte [ par pifethercule ] Bonjour, j'essaye d'extraire des mots clés de textes... mes mots clés sont dans une variable "$keywords" tous séparés par un pipe "|", pour faire des Trier un tableau à partir d'une valeur calculée [ par mikkro ] Bonjour tout le monde. Je developpe actuellement pour mon boulot, une cartothèque. Tout fonctionne mais il y a quelque chose qui me chagrine, en effet PHP Général [ par begueradj ] Bonjour à tous, Lorsqu'on dépose sa source directement sur le champ de ce site, on apperçoit les mots clés du langage de programmation utilisé sont Quel editeur pour faire de la POO ? [ par lolymeupy ] Bonjour, je recherche un éditeur qui permette de faire de la POO. Je m'explique, a mon taf', ils ont installé une version de Zend Studio 5.5.0, avec Bibliotheque des mots clés utiliés en langage PHP [ par bonheur123 ] Bonjour,Je vousdrais vous demander de m'indiquer où trouver une bibliotheque ou un repertoire des mots clés utilisés dans le langage de programmation Recherche par mots clés mais en gardant l'ordre spécifié. [ par bobino75 ] Bonjour, Je me cherche une manière de faire une recherche par mots clés mais en gardant l'ordre spécifié. La personne peut faire une recherche pou Parseur de mots clé avec connecteurs logique et parenthèse [ par PerfectSlayer ] Bonjour à vous. Je travaille sur un robot qui joue au trivial poursuit. J'aurais besoin de comparer les réponses entrées par les joueurs à la réponse j'ai besoin d'aide SVP [ par ouinez ] ines la debutante:SVP aidez moi  j'ai fais mon premier pgm en php.un moteur   ki recherche dans une FAQ (foieraux questions)ou l'utilisateur doit sais Array_unique [ par orchideedorient ] Bonjour, J'ai un problème que je ne comprends pas avec un array_unique. En lisant, le manuel PHP, il est bien stipuler : "array_unique() trie les vale Moteur de recherche [ par atoguum4ever ] aTomicK Salut à tous,je cherche a faire un moteur de recherche en php et j'ai cru comprendre sur le forum que l


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,279 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales