webForumDet fria alternativet

Sök Problem!!

7 svar · 409 visningar · startad av Vinnaren

VinnarenMedlem sedan sep. 2005833 inlägg
#1

Hej
Jag har fått problem med ett sökscript
Följande kod använder jag:

<%
Dim Con
Dim SQL
Dim RS

Set Con = Server.CreateObject("ADODB.Connection") 
Con.Open "DBQ=" & Server.MapPath("../db/databas.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};" 
%>
<html>
<head>

</head>
<body bgcolor="#FFFFFF" link="#000000" vlink="#000000" alink="#000000" style="font-family: Verdana; font-size: 10pt">
<table border="0" cellpadding="0" style="border-collapse: collapse" bordercolor="#111111" width="130" id="table1">
  <tr>
    <td width="100%" style="border-top-style: none; border-top-width: medium" class="td2">
<form action="sok.asp" method="post">
<font face="Verdana">
<input class="form" type="text" name="sokord" size="17">
<input class="knapp" type="submit" value="Sök"><br>
&nbsp;</font></form>
    </td>
  </tr>
  <tr>
    <td width="100%" class="rum" style="font-size: 10pt; font-family: Verdana"></td>
  </tr>
</table>
<font face="Verdana" size="2">

<%...%>
<%
If Request.Form("sokord") <> "" Then

    Response.Write "<table border=0 cellpadding=0 cellspacing=0 style=border-collapse: collapse bordercolor=#111111 width=400>"
    Response.Write "<tr>"
    Response.Write "<td width=100% class=rubrik1 style=border-style: solid; border-width: 1>"
    Response.Write "Sökningen efter <i>" & Request.Form("sokord") & "</i> gav följande träffar.<br>" & vbCrLf
    Response.Write "</td>"
    Response.Write "</tr>"
    Response.Write "<tr>"
    Response.Write "<td width=100% style=border-top-style: solid; border-top-width: 1 class=td2>"
    SQL = "Select * from spelare Where Text Like '%" & Request.Form("sokord") & "%' "
    SET RS = Con.Execute(SQL)
    While Not RS.EOF
    Response.Write "<font class=text>"
    Response.Write "<b>" & RS("Rubrik") & "</b><br>" & vbCrLf
    Response.Write "" & RS("namn") & "&nbsp;"
    Response.Write "<a href='fakta.asp?visa=" & RS("ID") & "'>Läs mer!</a><br><br>"
    RS.MoveNext
    Wend
    RS.Close
    Set RS = Nothing
    Response.Write "</td>"
    Response.Write "</tr>"
    Response.Write "</table>"
    Response.Write "</div>"
End If
%>
</font>
</body>
</html>

<%...%>
<%
Con.Close
Set Con = Nothing
%>

problemet är att det man söker efter inte går att hitta, även att ordet man söker efter finns med i kolumnen i databasen den söker i.

Vad kan det vara för fel??

Tacksam för all hjälp jag kan få :r

HermanMedlem sedan maj 2001431 inlägg
#2

hmm va knasigt!

du kan ju testa att skriva ut SQL-uttrycket och se om det verkar rimligt.

@ndersMedlem sedan juni 200032 969 inlägg
#3

Du borde få ett felmeddelande eftersom Text är ett reserverat ord (datatyp). Byt namn på fältet.

Dessutom: när du postar kod, gör det med [kod]-taggar, så blir saker och ting lättare att läsa.

VinnarenMedlem sedan sep. 2005833 inlägg
#4

något felmeddelande får jag inte. Men när jag söker på tex "a" så kommer typ alla poster upp som finns i tabellen. men söker man på ett ord så kommer det inget fram, mer än att det inte hittades :OO

@ndersMedlem sedan juni 200032 969 inlägg
#5

Prova då att skriva ut sql-frågan, som Herman skriver. Prova att köra SQL-frågan direkt i Access, för att se om det blir någon skillnad.

VinnarenMedlem sedan sep. 2005833 inlägg
#6

ok, men hur ska frågan se ut?? är nybörjare på detta :stud
Har provat med

SELECT *FROM spelare WHERE Text Like oskar;

men fick ingen träff, även att han ska finnas med :l
vet inte om jag skrev rätt??

@ndersMedlem sedan juni 200032 969 inlägg
#7

Den SQL-frågan borde inte heller fungera, du borde få ett felmeddelande alt. en förfrågan om att fylla i värde för okänt fält (oskar).

SQL-frågan bör se ut ungefär som i ditt inlägg ovan, och den bör fungera, under förutsättning att du får rätt data från formuläret. Så: skriv ut SQL-frågan med response.write, så är det lättare att se om något är fel.

vet inte om jag skrev rätt??

Nej, du saknar apostrofer runt sökordet, och också wildcards.

VinnarenMedlem sedan sep. 2005833 inlägg
#8

ok, tror jag har hittat felet :OO Lite klantigt kanske ;)
Man sökte i fel kolumn, var därför jag inte fick några träffar.

Men tack för all hjälp :bire

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)