Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 27/01/2010, 10h15   #1
Invité de passage
 
Inscription : décembre 2008
Messages : 41
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 41
Points : 4
Points : 4
Par défaut Moteur de recherche

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 ???
goldy91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 10h38   #2
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
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.

http://www.tethis-interactive.com
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 10h44   #3
Invité de passage
 
Inscription : décembre 2008
Messages : 41
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 41
Points : 4
Points : 4
euh j'ai pas trop compris désolé peut tu me l'ecrire stp ??
goldy91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 10h48   #4
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
$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.

http://www.tethis-interactive.com
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 10h57   #5
Invité de passage
 
Inscription : décembre 2008
Messages : 41
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 41
Points : 4
Points : 4
j'ai essayé sa ne marche pas ??
goldy91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 11h03   #6
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
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.

http://www.tethis-interactive.com
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 11h10   #7
Invité de passage
 
Inscription : décembre 2008
Messages : 41
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 41
Points : 4
Points : 4
comment sa je rajoute un and ???
goldy91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 11h26   #8
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
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.

http://www.tethis-interactive.com
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 11h34   #9
Invité de passage
 
Inscription : décembre 2008
Messages : 41
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 41
Points : 4
Points : 4
sa marche pas,et la il m'affiche plus rien du tout !!??
goldy91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 11h37   #10
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
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.

http://www.tethis-interactive.com
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 11h39   #11
Invité de passage
 
Inscription : décembre 2008
Messages : 41
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 41
Points : 4
Points : 4
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);
goldy91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 11h43   #12
Membre confirmé
 
Avatar de BenoitDenis
 
Inscription : avril 2005
Messages : 538
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : avril 2005
Messages : 538
Points : 219
Points : 219
Envoyer un message via MSN à BenoitDenis
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.

http://www.tethis-interactive.com
BenoitDenis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 11h47   #13
Invité de passage
 
Inscription : décembre 2008
Messages : 41
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 41
Points : 4
Points : 4
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 ??
goldy91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2010, 15h28   #14
Invité de passage
 
Inscription : décembre 2008
Messages : 41
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 41
Points : 4
Points : 4
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 ??
goldy91 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 00h59.


 
 
 
 
Partenaires

Hébergement Web