Moteur de recherche dans une base de données

Soyez le premier à donner votre avis sur cette source.

Snippet vu 37 223 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

Dadou911
Messages postés
10
Date d'inscription
lundi 21 avril 2003
Statut
Membre
Dernière intervention
22 avril 2003
-
Ah oui et champ _texte c le nom du champ texte de votre premiere page ou vous inscrivez le texte
ex:
chtit
Messages postés
5
Date d'inscription
mardi 8 octobre 2002
Statut
Membre
Dernière intervention
2 mai 2003
-
Une toute petite chose:
Si vous travaillez sur une base de données faisant la différence entre majuscule et minuscule, pensez à mettre vos critères de recherche soit en majuscule soit en minuscule.
Exemple pour une base oracle :
Upper(Nom_Colonne_BD) LIKE upper('%#ListGetAt(Form.champ_texte, i, ' ')#%')
cs_wari
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++
BenLaKnet
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.
gastoudou
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

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.