Moteur de recherche interne au site

Signaler
Messages postés
4
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
22 février 2007
-
Messages postés
4
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
22 février 2007
-
Bonjour,
Je cherche un code sources pour faire une recherche automatique dasn mes bases de donnée par rapport à un mot ou une référence.
Je suis débutant et j'ai beaucoup de mal, j'ai cherché j'en est trouver plusieur masi d'après les commentaires qu'il peux y avoir je ne sais pas lequel prendre.


 


Merci de votre aide

4 réponses

Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011

Salut, en SQL, tu peux utiliser la clause LIKE oubien MATCH (recherche un peu plus poussée mais il faut une colonne en FULLTEXT).
En gros, pas grand chose à voi avec ASP.net techniquememt parlant.

Poppyto
Cours de basse gratuits avec vidéos et ralentis 
Cours de guitare gratuits avec vidéos et ralentis 
[</body ]
Messages postés
13
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
16 juin 2006

Bonsoir,
pour faire un """""moteur de recherche """""" sur une base de données access c'est simple mais il faut se retrousser un peu les manches;
il faut lancer des requetes sur les tables et les colonnes pertinentes, à la recherche d'un mot out 2 mots ou ..3 ou 4
il faut alors gérer le OU ou le ET;
 Je te donne un exemple de requete:

<%
  'Crée un objet connexion.
Set conn = Server.CreateObject("ADODB.Connection")
  'Ouvre une connexion à l'aide de la chaîne de connexion OLE DB.
conn.Open  "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&NomDeLaBaseAstreinte


valstructure=request("Structure")


   if valcri2 "" then valcri2 valcri1 end if    if valcri3 "" then valcri3 valcri1 end if    if valcri4 "" then valcri4 valcri1 end if
' recherche du nombre de rapports correspondant à la journée
' sur sql le format date est mm/jj/aaaaif valdatd "" then valdatd "01/01/2004" end if
valAA=year(valdatd)
valMM=month(valdatd)
valJJ=day(valdatd)if valheud "" then valheud "00:00" end if
valJourd=valMM&"/"&valJJ&"/"&valAA&" "&valheudif valdatf "" then valdatf dateadd("d","+1",date()) end if
valAA=year(valdatf)
valMM=month(valdatf)
valJJ=day(valdatf)if valheuf "" then valheuf "00:00" end if
valJourf=valMM&"/"&valJJ&"/"&valAA&" "&valheuf




 if request("EtOu") = "OR" then
 sql="select * from RapportsAstreinte where (DateDebut+heuredebut) between #"&valJourd&"# and #"&valJourf&"# and "
 if len(request("Structure")) > 0 then
  sql=sql&"Structure = '"&valstructure&"' and "
 end if
 sql=sql&"(Description like '%"&valcri1&"%' or Description like '%"&valcri2&"%' or Description like '%"&valcri3&"%' or Description like '%"&valcri4&"%' "
 sql=sql&"or Structure like '%"&valcri1&"%' or Structure like '%"&valcri2&"%' or Structure like '%"&valcri3&"%' or Structure like '%"&valcri4&"%' "
 sql=sql&"or Intervenant like '%"&valcri1&"%' or Intervenant like '%"&valcri2&"%' or Intervenant like '%"&valcri3&"%' or Intervenant like '%"&valcri4&"%' "
 sql=sql&"or OrigineAppel like '%"&valcri1&"%' or OrigineAppel like '%"&valcri2&"%' or OrigineAppel like '%"&valcri3&"%' or OrigineAppel like '%"&valcri4&"%' "
 sql=sql&"or Region like '%"&valcri1&"%' or Region like '%"&valcri2&"%' or Region like '%"&valcri3&"%' or Region like '%"&valcri4&"%' "
 sql=sql&"or Caisse like '%"&valcri1&"%' or Caisse like '%"&valcri2&"%' or Caisse like '%"&valcri3&"%' or Caisse like '%"&valcri4&"%' "
 sql=sql&"or Application like '%"&valcri1&"%' or Application like '%"&valcri2&"%' or Application like '%"&valcri3&"%' or Application like '%"&valcri4&"%' "
 sql=sql&"or Element like '%"&valcri1&"%' or Element like '%"&valcri2&"%' or Element like '%"&valcri3&"%' or Element like '%"&valcri4&"%' "
 sql=sql&"or Environnement like '%"&valcri1&"%' or Environnement like '%"&valcri2&"%' or Environnement like '%"&valcri3&"%' or Environnement like '%"&valcri4&"%' "
 sql=sql&"or Justification like '%"&valcri1&"%' or Justification like '%"&valcri2&"%' or Justification like '%"&valcri3&"%' or Justification like '%"&valcri4&"%' ) order by DateDebut, HeureDebut"
 'response.write(sql)
 else
 sql="select * from RapportsAstreinte where (DateDebut+heuredebut) between #"&valJourd&"# and #"&valJourf&"# and "
 if len(request("Structure")) > 0 then
  sql=sql&"Structure = '"&valstructure&"' and "
 end if
 sql=sql&"(Description like '%"&valcri1&"%' or Structure like '%"&valcri1&"%' or Intervenant like '%"&valcri1&"%' or OrigineAppel like '%"&valcri1&"%' "
 sql=sql&"or Region like '%"&valcri1&"%' or Caisse like '%"&valcri1&"%' or Application like '%"&valcri1&"%' or Element like '%"&valcri1&"%' or Environnement like '%"&valcri1&"%' or Justification like '%"&valcri1&"%' ) "
 sql=sql&"and (Description like '%"&valcri2&"%' or Structure like '%"&valcri2&"%' or Intervenant like '%"&valcri2&"%' or OrigineAppel like '%"&valcri2&"%' "
 sql=sql&"or Region like '%"&valcri2&"%' or Caisse like '%"&valcri2&"%' or Application like '%"&valcri2&"%' or Element like '%"&valcri2&"%' or Environnement like '%"&valcri2&"%' or Justification like '%"&valcri2&"%' ) "
 sql=sql&"and (Description like '%"&valcri3&"%' or Structure like '%"&valcri3&"%' or Intervenant like '%"&valcri3&"%' or OrigineAppel like '%"&valcri3&"%' "
 sql=sql&"or Region like '%"&valcri3&"%' or Caisse like '%"&valcri3&"%' or Application like '%"&valcri3&"%' or Element like '%"&valcri3&"%' or Environnement like '%"&valcri3&"%' or Justification like '%"&valcri3&"%' ) "
 sql=sql&"and (Description like '%"&valcri4&"%' or Structure like '%"&valcri4&"%' or Intervenant like '%"&valcri4&"%' or OrigineAppel like '%"&valcri4&"%' "
 sql=sql&"or Region like '%"&valcri4&"%' or Caisse like '%"&valcri4&"%' or Application like '%"&valcri4&"%' or Element like '%"&valcri4&"%' or Environnement like '%"&valcri4&"%' or Justification like '%"&valcri4&"%' )  order by DateDebut, HeureDebut"
 end if
 set rs=conn.execute(sql)
  if (not rs.BOF and not rs.EOF) then
 rs.movefirst
 
  do while not rs.EOF%>

En espérant que çà t'aidera
A+
Messages postés
540
Date d'inscription
dimanche 29 décembre 2002
Statut
Modérateur
Dernière intervention
13 mai 2011

Un "vrai" moteur de recherche utilise MATCH et non LIKE et de plus le code est largement plus simple et on a un indice de pertinence !

Poppyto
Cours de basse gratuits avec vidéos et ralentis 
Cours de guitare gratuits avec vidéos et ralentis 
[</body ]
Messages postés
4
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
22 février 2007

Oui je veux bien je suis d'accord masi je ne veux pas qu'il alle chercher que du text mais aussi les différentes référence qu'il peu trouver dans des champ diférent.
Merci pour ton code jfmaze mais je ne comprend pas grand chose a toute sa, sa me parrais bien compliqué par rapport à ce que j'ai pu voir.

PS : désolé pour les faute d'orthographe.