Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
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 05/07/2011, 20h18   #1
 
Homme
Développeur Web
Inscription : juillet 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : juillet 2011
Messages : 3
Points : -1
Points : -1
Par défaut mysql trouver similarité soundex entre 2 entrées de 2 tables différentes

Bonjour ..

j'ai un problème que je ne suis pas capable de résoudre !

pour un site web : tu peut créer un entreprise , avec une description complète de ton entreprise (les services etc ..) exemple (sallage de maison, finition intérieure et extérieure, patio, aménagement paysager)

lors de l'enregistrement dans la DB, il enregistre le nom, la description, et les mots clés qui sont trouvés automatiquement dans la description transformés en soundex ..

.. maintenant j'ai une soumission que les membres du site peuvent faire : exemple (j'ai besoin de faire mon aménagement paysager et de faire l'excavation de ma maison) : enregistré dans la database sa donne : le nom, la description, les soundex de la description ..

MAINTENANT le problème est : lorsque j'envoies une soumission avec la description complète de mon projet, le script doit me retourner les entreprises qui ont les mêmes soundex dans leur description que la description du projet ..

j'ai trouvé et testé sa mais sa fonctionne pas :
SELECT * FROM entreprises
WHERE MATCH (description) AGAINST ($projet_soundexes);

merci de m'aider
imdclogic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 09h23   #2
Membre éprouvé
 
Homme romain escudier
Développeur informatique
Inscription : juin 2011
Messages : 300
Détails du profil
Informations personnelles :
Nom : Homme romain escudier
Âge : 22
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2011
Messages : 300
Points : 471
Points : 471
Je ne comprend pas trop l'utilité des soundex, perso j'aurais fait comme ça:

Prendre tout les mots clé de la description du projet (par exemple les mots de plus de 5 lettres)

Et faire une recherche de ce type:

Code :
1
2
SELECT * FROM entreprises
WHERE Description LIKE '%$mot1%' AND Description LIKE '%$mot2%' AND Description LIKE '%..%';
Avec a la place de mot1,2,3,4 un tableau qui contient les mots
__________________
Pas de solution, pas de probleme

Une réponse utile (ou +1) le pouce vert
Une réponse à votre question

skeud est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 17h43   #3
 
Homme
Développeur Web
Inscription : juillet 2011
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : juillet 2011
Messages : 3
Points : -1
Points : -1
merci pour ta réponse ! mais j'ai trouvé une solution alternative qui fonctionne aussi bien ..
Code :
1
2
3
4
5
6
7
 
$project['soundexes'] = 'N100 S235 I516 M500 E536 E130 D152 C516 I523 W532 L520';
        $results_q = new Query('
                SELECT id, name, description, city, logo_id, description
                FROM entreprises
                WHERE MATCH(soundexes) AGAINST (\''.$project['soundexes'].'\') > 0 '.$handler_macro);
$this->set('results', $results_q->out);
imdclogic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2011, 21h10   #4
Membre éprouvé
 
Homme romain escudier
Développeur informatique
Inscription : juin 2011
Messages : 300
Détails du profil
Informations personnelles :
Nom : Homme romain escudier
Âge : 22
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2011
Messages : 300
Points : 471
Points : 471
Ok sa roule, oublie pas le bouton
__________________
Pas de solution, pas de probleme

Une réponse utile (ou +1) le pouce vert
Une réponse à votre question

skeud 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 +2. Il est actuellement 03h17.


 
 
 
 
Partenaires

Hébergement Web