|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Date d'inscription: décembre 2008
Messages: 41
|
Bonjour voila mon probleme est que je suis entrain de faire un site d'emploi et je voudrais inserer un moteur de recherche.Mon moteur de recherche marche mais a moitié enfaite une personne qui recherche quelq'un par ces competences ne peut le trouver que s'il elle tape les compétences exacte c'est a dire dans l'odre,voila ma requete :
$sql="select identifiant,titreposte,competence,villep,datedebutvalidite,dureevalidite,datecreation from publication where rep='oui' and titreposte like \"%$titreposte%\" and competence like \"%$cp%\""; par exemple dans ma BDD j'ai dans competence (java html php css) si la personne tape java sa marche.Si elle tape java html sa marche.Mais si elle tape java css la sa ne marche plus alors comment je peut faire ??? |
|
|
|
|
|
#2 |
|
Membre éprouvé
![]() |
fait un explode de ton $cp et fait tes WHERE SQL sur chaque mot peut etre ou alors dans $cp tu remplaces le caractere espace par % pour qu'il ne cherche pas les mots a la suite...
ce sont des pistes a tester je n'ai jamais fait...
__________________
Le contenu est roi, optimisé il est empereur... Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent. |
|
|
|
|
|
#3 |
|
Membre à l'essai
![]() Date d'inscription: décembre 2008
Messages: 41
|
euh j'ai pas trop compris désolé peut tu me l'ecrire stp ??
|
|
|
|
|
|
#4 |
|
Membre éprouvé
![]() |
$cp = str_replace(" ","%",$cp);
$sql="select identifiant,titreposte,competence,villep,datedebutvalidite,dureevalidite,datecreation from publication where rep='oui' and titreposte like \"%$titreposte%\" and competence like \"%$cp%\"" suis pas sur hein... le but est que dans ta valeur $cp tu es un % a la place des espaces pour qu'il ne cherche pas forcément les mots a suivre
__________________
Le contenu est roi, optimisé il est empereur... Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent. |
|
|
|
|
|
#5 |
|
Membre à l'essai
![]() Date d'inscription: décembre 2008
Messages: 41
|
j'ai essayé sa ne marche pas ??
|
|
|
|
|
|
#6 |
|
Membre éprouvé
![]() |
Autre solution
$cp = explode(" ",$cp); et tu rajoutes un and sur chaque mot dans ta requete sql...
__________________
Le contenu est roi, optimisé il est empereur... Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent. |
|
|
|
|
|
#7 |
|
Membre à l'essai
![]() Date d'inscription: décembre 2008
Messages: 41
|
comment sa je rajoute un and ???
|
|
|
|
|
|
#8 |
|
Membre éprouvé
![]() |
bah regarde ta requete tu en as deja...
__________________
Le contenu est roi, optimisé il est empereur... Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent. |
|
|
|
|
|
#9 |
|
Membre à l'essai
![]() Date d'inscription: décembre 2008
Messages: 41
|
sa marche pas,et la il m'affiche plus rien du tout !!??
|
|
|
|
|
|
#10 |
|
Membre éprouvé
![]() |
montre ton code
__________________
Le contenu est roi, optimisé il est empereur... Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent. |
|
|
|
|
|
#11 |
|
Membre à l'essai
![]() Date d'inscription: décembre 2008
Messages: 41
|
le voila :
$rs=$_POST['rs']; $mailu=$_POST['mailuser']; $sa=$_POST['sa']; $ip=$_POST['ip']; $cp=$_POST['cp']; $ddv=$_POST['ddv']; $dv=$_POST['dv']; $tj=$_POST['tj']; $ville=$_POST['ville']; $pays=$_POST['pays']; $categorie=$_POST['categorie']; $genre=$_POST['genre']; $dd=$_POST['dd']; $description=$_POST['description']; $cp=explode(" ",$cp); $db=mysql_connect ****; mysql_select_db ****; $sql="select identifiant,titreposte,competence,villep,datedebutvalidite,dureevalidite,datecreation from publication where rep='oui' and titreposte like \"%$ip%\" and competence like \"%$cp%\""; $resultat=mysql_query($sql) or die ("erreur lors de l'execution de la requete sql !"); $res = mysql_num_rows($resultat); |
|
|
|
|
|
#12 |
|
Membre éprouvé
![]() |
Dans $cp tu as une liste de mot et tu fait ta requête dessus, il ne te renvoie donc que les résultats qui contiennent ces mots dans cet ordre la.
Il faut donc que tu sépare ton $cp en autant de mot que tu as dedans, et que tu construises une requête sql qui affiche les profils ayant tout ses mots, ou au moins un de ces mots suivant ton algorithme de recherche, dans le champ correspondant... Voila l'algorithme a suivre, après a toi de chercher un peu au niveau code...
__________________
Le contenu est roi, optimisé il est empereur... Comme la Hongrie, le monde informatique a une langue qui lui est propre. Mais il y a une différence. Si vous restez assez longtemps avec des Hongrois, vous finirez bien par comprendre de quoi ils parlent. |
|
|
|
|
|
#13 |
|
Membre à l'essai
![]() Date d'inscription: décembre 2008
Messages: 41
|
mais l'algo je l'avait deja compris,il me manque les syntaxe c'est tout ,je connais pas non plus tout les codes c'est pour sa je suis venu sur le site non ??
|
|
|
|
|
|
#14 |
|
Membre à l'essai
![]() Date d'inscription: décembre 2008
Messages: 41
|
apres 2 heure de recherche sur Internet j'ai remarqué la methode fulltext qui est tres interessante j'ai essayé mais j'ai pas reussi il me met une erreur.Comment l'utilise t-on ??
|
|
|
|
|
|
![]() |
||
Moteur de recherche
|
||
| Outils de la discussion | |
|
|