Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2438 connectés 

  FORUM HardWare.fr
  Programmation

  [PHP] Crée une fonction de recherche sur une base MySQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Crée une fonction de recherche sur une base MySQL

n°63071
Ventilo
Ventilo? Depuis 1998!
Posté le 04-10-2001 à 06:39:44  profilanswer
 

Je une base de donné avec des news dedans, je voudrais crée un script PHP pour chercher dans un champ de ma table news, comment je peut crée ca, avec une requete SQL..
 
P-e exist-il une funtion style "SELECT * FORM news WHERE corps='*$mot*' ??

mood
Publicité
Posté le 04-10-2001 à 06:39:44  profilanswer
 

n°63073
__Lolo__
C'est pouleversant !
Posté le 04-10-2001 à 07:53:13  profilanswer
 

WHERE corps LIKE '%$mot%' si je ne m'abuse (il est tot :D )

n°63089
oloide
Posté le 04-10-2001 à 09:51:16  profilanswer
 

__Lolo__ a écrit a écrit :

WHERE corps LIKE '%$mot%' si je ne m'abuse (il est tot :D )  




 
je confirme

n°63102
omega2
Posté le 04-10-2001 à 10:28:04  profilanswer
 

C'est bien ça.
Pour un ensemble de news, faire un like est assez rapide.
Pour des forums, (ou le nombre d'enregistrement est très important), il vaut mieux utiliser des méthodes un poil plus complexes et qui prennent plus de place dans la base de donée mais qui sont beaucoup plus rapide à l'arrivé.
 
Si vous avez besoin, je peux vous dire comment on a fait là ou je travailles pour avoir des réponses en quelques secondes sur une table comportant plus de 20000 enregistrements. (heu, juste la méthode utilisé en fait ;) ).

n°63156
art_dupond
je suis neuneu... oui oui !!
Posté le 04-10-2001 à 13:29:33  profilanswer
 

c'est beaucoup non quelques secondes ?
 
 
Il me semble que quand on fait une recherche ici, ca met moins d'une seconde.
 
 
Mais dis toujours ta méthode. Ca m'intéresse, parce que j'ai pas appris :na:

n°63197
omega2
Posté le 04-10-2001 à 15:28:54  profilanswer
 

En gros, pour chaque message, on découpe le message en série de mots de 6 lettres.
On insére tout les mots de cette série là dans une table avec une colone qui indique dans quel message il ce trouve.
pour la recherche, on découpe le texte de la recherche de la même manière.
Ensuite, il sufit de rechercher les mot >=mot de la recherche et <= mot de la recherche (après incrémentation de la dernière lettre du mot)
Les messages à retourner sont ceux pour lesquels il existe l'ensemble des mots recherché ou un seul selon les options que tu veux.
J'ai pas sous les yeux un exemple de la requête qui fait ça.
 
pour le temps de recherche au boulot, il fuat avouer que c'est une bdd qui est très utilisé avec plus de 100 personnes constamment dessus entrain de faire des traitements bien plus complexe que ceux nécéssaire à un forum.

n°63198
omega2
Posté le 04-10-2001 à 15:29:53  profilanswer
 

PS : ce type de recherche est beaucoup plus rapide à exécuter qu'un like tout simple.

n°63287
Ventilo
Ventilo? Depuis 1998!
Posté le 04-10-2001 à 20:46:35  profilanswer
 

Merci, j'avais moi même penser à crée un table du style
 
id | mot | newsid
 
ou la colone mot contien les mot de toutes les news, et newsid le ID de la news qui le contien...Mais sa mavais parut pas un très bonne idée...mais j'avais  au moin la bonne direction  :sol:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [PHP] Crée une fonction de recherche sur une base MySQL

 

Sujets relatifs
[PHP] intéret de pconnect ?[PHP] retour chariot
[PHP]Trier moi ce tableau !!!![matlab] paramètre optionnel dans une fonction ...
Export de base Notes (Lotus)[PHP] sessions : duree de vie des fichiers sur le serveur ...
cherche nom de fonction en cPHP & CPDFLIB
base de registre+Internet ExplorerPHP: comment passer une valeur vers une autre page?
Plus de sujets relatifs à : [PHP] Crée une fonction de recherche sur une base MySQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR