Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
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 04/08/2011, 15h22   #1
Invité régulier
 
Homme Outmane Sekkah
Étudiant
Inscription : août 2011
Messages : 19
Détails du profil
Informations personnelles :
Nom : Homme Outmane Sekkah
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2011
Messages : 19
Points : 8
Points : 8
Par défaut Moteur de recherche PHP/MySQL

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
outmane16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/08/2011, 19h44   #2
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
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
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 13h45   #3
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
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
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 17h23   #4
Invité régulier
 
Homme Outmane Sekkah
Étudiant
Inscription : août 2011
Messages : 19
Détails du profil
Informations personnelles :
Nom : Homme Outmane Sekkah
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2011
Messages : 19
Points : 8
Points : 8
J'ai un seul champ input, dont l'utilisateur peut saisir "Nom Prénom" ou "Prénom Nom" ou seulement le "Nom" ....etc.
outmane16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 17h28   #5
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Citation:
Envoyé par outmane16 Voir le message
J'ai un seul champ input
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
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 17h32   #6
Membre éclairé
 
Avatar de hisy
 
Inscription : novembre 2004
Messages : 373
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 373
Points : 300
Points : 300
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
hisy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 18h09   #7
Invité régulier
 
Homme Outmane Sekkah
Étudiant
Inscription : août 2011
Messages : 19
Détails du profil
Informations personnelles :
Nom : Homme Outmane Sekkah
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2011
Messages : 19
Points : 8
Points : 8
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.
outmane16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 18h36   #8
Membre Expert
 
Avatar de kdmbella
 
Homme Demazy Mbella
Développeur Web
Inscription : août 2010
Messages : 620
Détails du profil
Informations personnelles :
Nom : Homme Demazy Mbella
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2010
Messages : 620
Points : 1 470
Points : 1 470
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 Franklin
L'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent : Benjamin Franklin
Le hasard, c'est le déguisement que prend Dieu pour voyager incognito: Albert Einstein
bon je m'arrête là au risque de me faire buter
kdmbella est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 18h55   #9
Invité régulier
 
Homme Outmane Sekkah
Étudiant
Inscription : août 2011
Messages : 19
Détails du profil
Informations personnelles :
Nom : Homme Outmane Sekkah
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2011
Messages : 19
Points : 8
Points : 8
oui j'ai utiisé la fonction mysql_real_escape_string() :
Code :
$recherche = mysql_real_escape_string(htmlspecialchars(trim($_POST['input_chercher'])));
outmane16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 19h22   #10
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
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
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/08/2011, 19h33   #11
Invité régulier
 
Homme Outmane Sekkah
Étudiant
Inscription : août 2011
Messages : 19
Détails du profil
Informations personnelles :
Nom : Homme Outmane Sekkah
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2011
Messages : 19
Points : 8
Points : 8
Je travaille avec le moteur InnoDB de MySQL, et je pense que ce moteur n'accepte pas la recherche textuelle (FULL TEXT) ?
outmane16 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 05/08/2011, 21h26   #12
Rédacteur/Modérateur
 
Avatar de Thes32
 
Homme
Développeur Web
Inscription : décembre 2006
Messages : 2 335
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2006
Messages : 2 335
Points : 3 774
Points : 3 774
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
Thes32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/08/2011, 20h07   #13
Invité régulier
 
Homme Outmane Sekkah
Étudiant
Inscription : août 2011
Messages : 19
Détails du profil
Informations personnelles :
Nom : Homme Outmane Sekkah
Localisation : Maroc

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : août 2011
Messages : 19
Points : 8
Points : 8
Bonjour,
j'ai ajouté un index dans la table :
Code :
1
2
 
INDEX ind_recherche ( prenom_user(10), nom_user(10) )
mais je ne sais pas comment l'utiliser dans la requete SQL
outmane16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h39.


 
 
 
 
Partenaires

Hébergement Web