IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Pb avec moteur de recherche


Sujet :

ASP

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 5
    Points
    5
    Par défaut Pb avec moteur de recherche
    Bonjour,

    Je suis en train de faire un moteur de recherche sur une base access.
    Celui çi marche bien si j'entre qu'un seul mot ou une suite de mot qui se suit dans un résultat mais je ne peux pas faire de recherches sur deux mots séparés.

    Bref apres avoir cherché plusieurs solutions différentes je n'ai pas réussi à les appliquer à mon code. Malgres le loop on dirait qu'il ne cherche pas tout.(j'espère que je m'explique bien, je débute).



    Pouvez vous m'aider ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    <%mot=Request.querystring("mot")%>
     
    <%
    ' nettoyage de la chaine de caractères.
     
    mot = Replace(mot, "'"," ")
    mot = Replace(mot,"<","&lt")
    mot = Replace(mot,">","&gt")
    mot = Replace(mot,"?","")
    mot = Replace(mot,"*","")
    mot = Replace(mot,"|","")
    mot = Replace(mot,":","")
    mot = Replace(mot,"/","")
    mot = Replace(mot,"\","")
    mot = Replace(mot,"%","")
    mot = Replace(mot,"@","")
    mot = Replace(mot,"(","")
    mot = Replace(mot,")","")
    mot = Replace(mot,"[","")
    mot = Replace(mot,"]","")
    mot = Replace(mot,"&","")
    %>
     
     
    <%
    'redirection vers la page principale si recherche vide
    if mot="" or mot=" " then%>
    <%Response.Redirect "index.asp?nomapp=faq"%>
     
    <%else%>
    <%
    'Conexion à la base de données
    DSN_BASE = "DBQ=" & Server.Mappath("db/mabase.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25"
    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open DSN_BASE
    %>
     
     
    <%
    'découpage de la chaine de caractères
    			mots = Split(mot," ",1)
     
    %>
    <%
    'requête SQL
    			SQL = "SELECT * FROM questions where titre like '%"&mot&"%' or appli like '%"&mot&"%' or ref like '%"&mot&"%' or motscles like '%"&mot&"%' or desc like '%"&mot&"%' order by titre"
    				Set rs = Server.CreateObject("ADODB.Recordset")
    				rs.Open SQL, conn
     
    			if rs.eof=true then
    %>
     
      <%rs.MoveFirst
      do while Not rs.eof%>
     
     
    ensuite l'affichage ... puis
     
    <%
    rs.MoveNext
    loop%>
     
    <%end if%>
    <%
    rs.close
    set rs=nothing
    conn.close
    set conn=nothing %>
     
     
    <%end if%>
    Merci pour votre aide.

    Elyric[code]

  2. #2
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Petite précision, j'ai cru comprendre que l'on pouvait utiliser la fonction ubound pour pour passer les données et ainsi afficher tout tes résultats mais je n'ai pas réussi à l'utiliser dans mon cas ..

    une idée ?

    Merci

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bon j'ai trouvé l'exemple qui me sauve, le voila si cela peut aider quelqu'un.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    for i=0 to UBound(mots) 
     
    				if condition=0 then 
    				SQL = SQL & "AND (keywords like '% "&mots(i)&",%' "
    				condition=condition+1
    				else 
    				whereUsed=true
    				SQL = SQL & "OR keywords like '% "&mots(i)&",%' "
    				end if 
     
    			next 
     
    SQL = SQL & ")"
     
    				Set rs = Server.CreateObject("ADODB.Recordset")
    				rs.Open SQL, conn
     
    			if rs.eof=true then
    			%>
    Merci quand même.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] problème avec moteur de recherche
    Par barose dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/06/2009, 13h33
  2. pb avec moteur de recherche access
    Par darksage dans le forum VBA Access
    Réponses: 3
    Dernier message: 08/01/2009, 17h42
  3. Editeur WIN32API avec moteur de recherche interne et mise en page
    Par ProgElecT dans le forum Vos contributions VB6
    Réponses: 7
    Dernier message: 05/04/2008, 17h29
  4. [MySQL] petit soucis avec moteur de recherche
    Par php4life dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 31/01/2007, 16h18
  5. problème avec moteur de recherche
    Par allyson dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 16/02/2005, 16h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo