webForumDet fria alternativet

Sökproblem

5 svar · 237 visningar · startad av Melea

MeleaMedlem sedan juli 20033 147 inlägg
#1

Hejsan.

Får inte riktigt till det på min sökfunktion.
Såhär ser koden ut:

Det här ligger i menyn till höger:

<%
falt2 = "Username"
falt3 = "Email"
%>

<form name="sok" method="post" action="sok.asp?do=sok">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td><select name="falt">
<option value="<%=falt2%>" name="falt">Användarnamn</option>
<option value="<%=falt3%>" name="falt">Email</option>
</select></td>
</tr>
<tr>
<td><input type="text" name="sokord" size="32" maxlength="20" class="textruta"></td>
</tr>
<tr>
<td><input type="submit" name="Submit" value="Sök" class="knapp"></td>
</tr>
</table>
</form>

Och det här ska dyka upp i huvudfönstret:

<%
If Request.QueryString("ord") = "" Then
MySQL = "SELECT * FROM memb_memb where " & Trim(Request.Form("falt")) & " LIKE '" & Request.Form("sokord") & "' order by id desc "
Else
MySQL = "SELECT * FROM memb_memb where " & Request.Form("falt") & " LIKE '" & Request.Form("sokord") & "' order by id desc "
End If
Set RecSet = Conn.Execute(MySQL)

If NOT RecSet.EOF Then
Response.write "Sökordet <b>" & Request.Form("sokord") & "</b> gav inga fräffar!"
Else

Do While Not RecSet.EOF
Response.Write "" & Left(RecSet("username"),30) & ""
RecSet.MoveNext
Loop

RecSet.Close
Set RecSet = Nothing
End If
%>

Får inget direkt felmeddelande, bara att den inte listar sökresultaten. Blir tomt.

Tack på förhand

Mvh

MeleaMedlem sedan juli 20033 147 inlägg
#2

Ah klantigt av mig, är nog lite trött :)

<%
If Request.QueryString("ord") = "" Then
Response.write "Sökordet <b>" & Request.Form("sokord") & "</b> gav inga fräffar!"
Else
MySQL = "SELECT * FROM memb_memb where " & Request.Form("falt") & " LIKE '" & Request.Form("sokord") & "' order by id desc "
End if
Set RecSet = Conn.Execute(MySQL)

Do While Not RecSet.EOF
Response.Write "" & Left(RecSet("username"),30) & "
RecSet.MoveNext
Loop

RecSet.Close
Set RecSet = Nothing
%>

Admin kan ju ta bort den här tråden om de känner för de :OO

SebbeMedlem sedan jan. 20032 285 inlägg
#3

Sedan tror jag nog också att det kanske skulle bli ett lite mer lyckat resultat om du skriver SQL-frågan såhär: (men jag kan ju ha fel :) )

MySQL = "SELECT * FROM memb_memb where " & Request.Form("falt") & " LIKE '%" & Request.Form("sokord") & "%' order by id desc "
@ndersMedlem sedan juni 200032 969 inlägg
#4

Sebbe skrev:

(men jag kan ju ha fel :)

Nej, det tycker jag inte. Att använda LIKE utan wildcards är samma sak som att använda =, och då är det inte mycket sökning, om man bara gör exakta jämförelser. ;)

SebbeMedlem sedan jan. 20032 285 inlägg
#5

@nders skrev:

Sebbe skrev:

(men jag kan ju ha fel :)

Nej, det tycker jag inte. Att använda LIKE utan wildcards är samma sak som att använda =, och då är det inte mycket sökning, om man bara gör exakta jämförelser. ;)

Jo, men det är just det att jag har sett på flera ställen personer som använder LIKE som '='. Ville bara påpeka det, om det var något han hade missat. :)

@ndersMedlem sedan juni 200032 969 inlägg
#6

Jepp, förstod precis vad du menade, och ville bara klargöra lite mer.

Mvh

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