webForumDet fria alternativet

Var är felet?

9 svar · 407 visningar · startad av magnusfeldth

magnusfeldthMedlem sedan jan. 20034 480 inlägg
#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?

desdecadoMedlem 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.

magnusfeldthMedlem sedan jan. 20034 480 inlägg
#3

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

desdecadoMedlem 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)

magnusfeldthMedlem 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.

cyprysMedlem sedan dec. 20003 563 inlägg
#6

Inga procenttecken på typ.

magnusfeldthMedlem 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

J.N.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?

@ndersMedlem sedan juni 200032 969 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

J.N.Medlem sedan apr. 20031 660 inlägg
#10

HEJ!

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

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