Moteur de recherche interne au site

Nightwolf774 Messages postés 4 Date d'inscription lundi 15 mai 2006 Statut Membre Dernière intervention 22 février 2007 - 15 juin 2006 à 14:05
Nightwolf774 Messages postés 4 Date d'inscription lundi 15 mai 2006 Statut Membre Dernière intervention 22 février 2007 - 17 juin 2006 à 15:14
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

cs_poppyto Messages postés 540 Date d'inscription dimanche 29 décembre 2002 Statut Modérateur Dernière intervention 13 mai 2011
16 juin 2006 à 10:18
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 ]
0
jfmaze Messages postés 13 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 16 juin 2006
16 juin 2006 à 22:51
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+
0
cs_poppyto Messages postés 540 Date d'inscription dimanche 29 décembre 2002 Statut Modérateur Dernière intervention 13 mai 2011
17 juin 2006 à 11:12
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 ]
0
Nightwolf774 Messages postés 4 Date d'inscription lundi 15 mai 2006 Statut Membre Dernière intervention 22 février 2007
17 juin 2006 à 15:14
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.
0
Rejoignez-nous