webForumDet fria alternativet

Var är felet?

ASP

9 svar · 409 visningar · startad av magnusfeldth

Medlem sedan jan. 20034 480 inlägg
Frågan#1

Använder denna koden i ett sökscript:

    if Request.QueryString("searchtyp") = "alla" and Request.QueryString("searchkategori") = "alla"  Then
    Set RecSet = Connect.Execute("SELECT textid, rubrik, kategori, typ, searchword, datum FROM sockor WHERE Rubrik like '%" & request.querystring("searchword") & "%' OR Searchword like '%" & request.querystring("searchword") & "%'  order by datum DESC")
    
    Elseif trim(Request.QueryString("searchtyp")) <> "alla" and trim(Request.QueryString("searchkategori")) = "alla"  Then
    Set RecSet = Connect.Execute("SELECT textid, rubrik, kategori, typ, searchword, datum FROM sockor WHERE Rubrik like '%" & request.querystring("searchword") & "%' OR Searchword like '%" & request.querystring("searchword") & "%' AND Typ = '%" & request.querystring("searchtyp") & "%'  order by datum DESC")

    Elseif trim(Request.QueryString("searchtyp")) = "alla" and trim(Request.QueryString("searchkategori")) <> "alla"  Then
    Set RecSet = Connect.Execute("SELECT textid, rubrik, kategori, typ, searchword, datum FROM sockor WHERE Rubrik like '%" & request.querystring("searchword") & "%' OR Searchword like '%" & request.querystring("searchword") & "%' AND Kategori = '%" & request.querystring("searchkategori") & "%'  order by datum DESC")

    Elseif trim(Request.QueryString("searchtyp")) <> "alla" and trim(Request.QueryString("searchkategori")) <> "alla"  Then
    Set RecSet = Connect.Execute("SELECT textid, rubrik, kategori, typ, searchword, datum FROM sockor WHERE Rubrik like '%" & request.querystring("searchword") & "%' OR Searchword like '%" & request.querystring("searchword") & "%' AND Typ = '%" & request.querystring("searchtyp") & "%' AND Kategori = '%" & request.querystring("searchkategori") & "%'  order by datum DESC")

    End if

Men det verkar inte fungera. Söker jag med ett annat värde på searchtyp och/eller searchkategori bryr den sig inte om det, den söker som om jag sökt på alla ändå... Var kan felet vara? Kan inte se det, har jag blivit blind?

Medlem sedan juli 2004206 inlägg
#2

Testa med parenteser runt AND satserna som körs efter OR för att vara på den säkra sidan.

Medlem sedan jan. 20034 480 inlägg
#3

Oki, förstår vad som kan vara felet, men hur ska jag skriva paranteserna?

Medlem sedan juli 2004206 inlägg
#4

Vet inte om det är just det som är felet, men paranteser underlättar, typ...

SELECT blaa bla bla WHERE (a=1 AND b=1) OR (c=1 AND d=1)

Medlem sedan jan. 20034 480 inlägg
#5

Fortfarande problem med det hela. Jag har kollat en sak. Skriver jag följande SQL-kommando:

    Set RecSet = Connect.Execute("SELECT textid, rubrik, kategori, typ, searchword, datum FROM sockor WHERE  ( Rubrik like '%" & request.querystring("searchword") & "%' OR Searchword like '%" & request.querystring("searchword") & "%' ) AND Typ = '%" & trim(request.querystring("searchtyp")) & "%'  order by datum DESC")

så hittar den inget i databasen om jag söker med searchtyp=nyhet, men om jag skriver

typ = 'nyhet'

så hittar den poster. Vad är felet? har gjort om request.querystring så att jag har en trim med, men det hjälper inte.

Medlem sedan dec. 20003 563 inlägg
#6

Inga procenttecken på typ.

Medlem sedan jan. 20034 480 inlägg
#7

Wee! Nu fungerar det! Tack! (och genom att ta bort %tecknen även i den längre koden högre upp stämmer även den, så dubbelthanks!) :bire

Medlem sedan apr. 20031 660 inlägg
#8

HEJ!

magnusfeldth skrev:

Wee! Nu fungerar det! Tack! (och genom att ta bort %tecknen även i den längre koden högre upp stämmer även den, så dubbelthanks!) :bire

Men, då kommer du endast att hitta rubriker när du skriver dem exakt som det står i nyheten, dvs alla ord måsta vara med?

Medlem sedan juni 200032 967 inlägg
#9

J.N. skrev:

Men, då kommer du endast att hitta rubriker när du skriver dem exakt som det står i nyheten, dvs alla ord måsta vara med?

Nja, skilj på LIKE och =. Med like använder man wildcards, men inte annars.

mvh

Medlem sedan apr. 20031 660 inlägg
#10

HEJ!

Aha, jag scrollade inte så långt åt höger, trodde alla vara likadana! :r

288 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
162 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)