|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Outmane SekkahÉtudiant Inscription : août 2011 Messages : 19 ![]() |
Bonjour.
Je suis actuellement en train de réfléchir à comment réaliser un moteur de recherche en PHP/MySQL. En plus détaillé, cela donne : L'utilisateur entre une recherche du type : "Nom Prénom" (dans un champ de texte). la recherche "Nom Prénom" s'effectuerait sur deux champs : "nom_user" et "prenom_user" de la table "user". Une méthode à proposer ? Des conseils ? Je suis preneur ! Merci à vous ! A la prochaine |
|
|
00
|
|
|
#2 |
![]() ![]() |
Bonjour,
1/ mon conseil serait que ce message soit déplacé dans le bon forum (le forum php !) 2/ A priori, c'est une recherche simple. Quelle est la difficulté ? La méthode est simple : 1/ un formulaire (2 champs input, un bouton submit) 2/ traitement - récupération des valeurs - requête en BdD par comparaison des valeurs des 2 champs 3/ affichage des résultats What Else ?
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
|
|
00
|
|
|
#3 |
![]() ![]() Développeur Web Inscription : décembre 2006 Messages : 2 335 ![]() |
N'oublies d'utiliser des indexes sur les deux champs dans ta BDD.
Pour plus d'infos sur les indexes et la recherche full texte tu peux jetter un oeil sur le tutoriel MYSQL et la recherche textuelle. Le tuto se base sur MySQL mais quasiment le même principe avec les autres SGBD.
__________________
Développeur | Zend Certified Engineer Étapes Pour mieux se servir du forum: 1. Commencez par lire les cours et tutoriels ; 2. Faites une recherche; 3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles; Nix>_Rien n'est plus pratique que la théorie |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Outmane SekkahÉtudiant Inscription : août 2011 Messages : 19 ![]() |
J'ai un seul champ input, dont l'utilisateur peut saisir "Nom Prénom" ou "Prénom Nom" ou seulement le "Nom" ....etc.
|
|
|
00
|
|
|
#5 |
![]() ![]() |
Ca ne change que la façon de récupérer les "nom" et "prenom".
Pas la méthode de recherche.
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
|
|
00
|
|
|
#6 |
|
Membre éclairé
![]() Inscription : novembre 2004 Messages : 373 ![]() |
Salut,
Tu peux faire une recheche sur hisyRecherche dans Google, j'avais publié un jour une classe de recherche avec coloration des mots trouvés sans prétention mais ça marche. Tu peux l'utiliser en mode ET ou OU. Dans ton cas le mode ET te permet de trouver des chaines de type "nom prénom" ou "prénom nom" ... Si tu as des questions ... alimente ce post ou écrits moi en MP.
__________________
Take it HiSy |
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Outmane SekkahÉtudiant Inscription : août 2011 Messages : 19 ![]() |
Merci pour vos réponse, je viens de créer un moteur de recherche par mots clés.
J'ai découpé ma chaine avec la fonction explode() afin de renvoyer un tableau de mots (mots clés), ensuite j'ai fait une boucle qui permet d'ajouter ses mots clés dans la requete SQL, en utilisant les "OR" et les "AND" et le critère de sélection "LIKE". J'ai utilisé aussi les fonctions de sécurité pour éviter les problèmes avec les recherches qui contiennent des caractères spéciaux. |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() ![]() Demazy MbellaDéveloppeur Web Inscription : août 2010 Messages : 620 ![]() |
et si je peut e permettre d'ajouter quelque chose, i lserait bien que tu utilises des requêtes sql préparées ou les fonctions comme mysql_real_escape_string() ça t'évitera des soucis liée aux sql Injections et autres
__________________
Trois personnes peuvent garder un secret si deux d'entre elles sont mortes. :Benjamin FranklinL'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent : Benjamin FranklinLe hasard, c'est le déguisement que prend Dieu pour voyager incognito : Albert Einsteinbon je m'arrête là au risque de me faire buter
|
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Outmane SekkahÉtudiant Inscription : août 2011 Messages : 19 ![]() |
oui j'ai utiisé la fonction mysql_real_escape_string() :
Code :
$recherche = mysql_real_escape_string(htmlspecialchars(trim($_POST['input_chercher']))); |
|
|
00
|
|
|
#10 |
![]() ![]() Développeur Web Inscription : décembre 2006 Messages : 2 335 ![]() |
euh tu n'as jetter un oeil sur les index ???
__________________
Développeur | Zend Certified Engineer Étapes Pour mieux se servir du forum: 1. Commencez par lire les cours et tutoriels ; 2. Faites une recherche; 3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles; Nix>_Rien n'est plus pratique que la théorie |
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Outmane SekkahÉtudiant Inscription : août 2011 Messages : 19 ![]() |
Je travaille avec le moteur InnoDB de MySQL, et je pense que ce moteur n'accepte pas la recherche textuelle (FULL TEXT) ?
|
|
|
01
|
|
|
#12 |
![]() ![]() Développeur Web Inscription : décembre 2006 Messages : 2 335 ![]() |
euh je parle des INDEX et non de FULLTEXT... http://dev.mysql.com/doc/innodb-plug...-overview.html
__________________
Développeur | Zend Certified Engineer Étapes Pour mieux se servir du forum: 1. Commencez par lire les cours et tutoriels ; 2. Faites une recherche; 3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles; Nix>_Rien n'est plus pratique que la théorie |
|
|
00
|
|
|
#13 | ||
|
Invité régulier
![]() Outmane SekkahÉtudiant Inscription : août 2011 Messages : 19 ![]() |
Bonjour,
j'ai ajouté un index dans la table : Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com