Moteur de recherche dans une base de données

Soyez le premier à donner votre avis sur cette source.

Snippet vu 37 339 fois - Téléchargée 27 fois

Contenu du snippet

Moteur de recherche en coldfusion qui accede a un champ ou plusieurs dans des bases de donnees et qui recherche des mots.

Tres pratique pour les boutiques en lignes et commerces

Source / Exemple :


<CFQUERY name="afficher" datasource="nom_de_votre_base_access">
SELECT * FROM table_de_votre_base WHERE 0=0
<CFLOOP index="i" from="1" TO="#ListLen(Form.champ_texte, ' ')#">
AND Nom_Colonne_BD LIKE '%#ListGetAt(Form.champ_texte, i, ' ')#%'
Or Nom1_Colonne_BD LIKE '%#ListGetAt(Form.champ_texte, i, ' ')#%'
</CFLOOP>
or reference = '#Form.champ_texte#'
</CFQUERY>

<HTML>
<HEAD>
<TITLE></TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></HEAD>

<BODY bgcolor="#0099FF" text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">

<CFIF #Form.Champ_texte# is "" >
Vous n'avez rien inscrit
</CFIF>

<CFIF #afficher.RecordCount# is "0" and #Form.Champ_texte# is not "" >
Rien ne correpond
</CFIF>

<cfif #Form.Champ_texte# is not "" and #afficher.RecordCount# is not "0" >
<cfoutput query="afficher" startrow="1" maxrows="1">
<B>#afficher.RecordCount#</B> produit <br><br>
</cfoutput>
  <TABLE border="1" align="center" bordercolor="#999999" bgcolor="#000000">
    <cfoutput query="afficher"> 
      <TR> 
        <TD width="103" >
          <B><font color="##FFFFFF">#CurrentRow#</font>- </B> </TD>
        <TD width="223"> 
          <P><font color="##FFFFFF">#Nom_Colonne_BD# </font> 
        <TD width="144"> 
          <font color="##FFFFFF"> <b>#Nom1_Colonne_BD#</b></font></TD>
             </TR>
    </cfoutput> 
  </TABLE>
</CFIF>
<BR><BR>
<DIV align="center">
<A href="javascript:history.back()">
Recherche Infructueuse, cliquez ICI</A>
</DIV>
</BODY>
</HTML>

Conclusion :


donc, je resume, tt d'abord vous devez creer une base de donnees access. Ici ma base s'appelle nom_de_votre_base_access. Dans cette base, g cree une table qui s'appelle table_de_votre_base et cette table contient des colonnnes appelées ici Nom_colonne_Bd et Nom_Colonne_bd et reference.

Avant de copier le code vous devez creer une page de recherce avec un formulaire et un champ texte ou les clients peuvent entrer des mots... Logique, qui d'ailleurs ici sont séparés par des espaces. Le bouton submit de ce formualire devra avoir pour value le nom de votre fichier .cfm où vous inscrirez le code ke je vous ai donne. Et voila le tour est joue

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
mercredi 10 mars 2010
Statut
Membre
Dernière intervention
24 juin 2010

merci d'abord,moi je cherche un code pour un moteur de recherche qui indexe les documents numérique(pdf,txt,word,power pont) avant de les stockés dans une base de donné pour faciliter la recherche,j'utilise php,mysql et html comme des longages .je serai trés contante si vs pouvez m'aider.merci d'avance(-_-)
Messages postés
4
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
15 février 2006

Si jamais la table fait quelques dizaines de milliers de lignes... le LIKE rique d'être bien long.
Désormais avec MySQL5 tu peux utiliser cette commande là (à condition que tu crées des index en fulltext) :

SELECT id, body, MATCH (col1,col2) AGAINST ('keywords') AS score
FROM articles
WHERE MATCH (col1,col2) AGAINST ('keywords')
ORDER BY score DESC

Regarde du côté de http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
Messages postés
17
Date d'inscription
lundi 23 décembre 2002
Statut
Membre
Dernière intervention
12 novembre 2004

trop bien, malgré que ce soit assez rébarbatif quand on a plusieurs tables avec pas mal de champs, mais merci en tout cas, je ne savais pas trop comment m'y prendre pour faire mon moteur pour le site. tks
Messages postés
59
Date d'inscription
mardi 8 janvier 2002
Statut
Membre
Dernière intervention
12 décembre 2003

Quand on ne peut utiliser l'indexation verity, c'est vrai que d'attaquer directement les champs de la base est bien pratique.
Messages postés
19
Date d'inscription
mercredi 28 août 2002
Statut
Membre
Dernière intervention
19 décembre 2008

vous pouvez m'aider à crée une base de donnée sous jbuilder
ou bien builder c++
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.