webForumDet fria alternativet

Flera QueryString efter varandra? Hur effektivisera?

6 svar · 214 visningar · startad av solbulle

solbulleMedlem sedan mars 20015 287 inlägg
#1

Garva inte ihjäl er nu...
Inser själv att detta blir ohållbart i längden, så min fråga är alltså hur jag effektiviserar detta.
Finns det någon annan väg att gå? Fråga gärna om ni inte förstår vad jag vill uppnå.
Select case?
Till saken hör att jag har tänkt att stapla ett antal av dessa If-satser på varandra. (Ljud, Bild, mfl)

If Request.QueryString("Ljud") <> "" OR Request.QueryString("Bild") <> "" Then

If Request.QueryString("Ljud") <> "" Then
strVar = Request.QueryString("Ljud")
strKom = "samma ljudsystem."
strSQL = "Ljud"
Else
If Request.QueryString("Bild") <> "" Then
strVar = Request.QueryString("Bild")
strKom = "samma bildformat."
strSQL = "Bild"

End If
End If

	SQL = "SELECT * FROM databas WHERE " & strSQL & "= '" & strVar & "' ORDER BY Titel"

.... osv...

------------------
/solbulle
Hemmabio | Spelautomater | The Who

[Redigerat av solbulle den 15 nov 2001]

@ndersMedlem sedan juni 200032 969 inlägg
#2

För att slippa den typen av if-satser (som blir svåra att hålla efter), hade jag sett till att ha två värden som skickas, ett som berättar vilket sökfält och ett för värdet.

En sådan URL skulle då se ut ungefärligen sidan.asp?sokfalt=Ljud&sokvarde=Dolby

Sedan kan du ersätta den kodklump du postade med:

sokfalt = Request.Querystring("sokfalt")
sokvarde = Request.Querystring("sokvarde")
if sokfalt <> "" and sokvarde <> "" then
SQL = "SELECT * FROM databas WHERE " & sokfalt & "= '" & sokvarde & "' ORDER BY Titel"
' Gör allt annat som du brukar
End If

I stort sett i alla fall.

Mvh,

------------------
All your base are belong to me.

[Redigerat av @nders den 15 nov 2001]

solbulleMedlem sedan mars 20015 287 inlägg
#3

Okelidoki, jag testar, det verkar onekligen helt strålande!

------------------
/solbulle
Hemmabio | Spelautomater | The Who

solbulleMedlem sedan mars 20015 287 inlägg
#4

mmmm, funkar verkligen bra till största delen, på så sätt mkt kodbesparande.

Men... min lilla:

strKom = "samma ljudsystem."

(Olika pga av val av sokfalt)
som är en sorts kommentar som används längre fram i sidan och är beroende av Querystring("sokfalt") kommer jag inte riktigt i från, vad jag kan se?

(Om jag nu behöver den överhuvudtaget - men det kan ju inte ni svara på.) :)

Vidare, kan jag iofs posta i en annan avdelning så tycker jag att dessa rutor för att skriva in inläggen är på tok för små, man får ingen överblick direkt.

------------------
/solbulle
Hemmabio | Spelautomater | The Who

solbulleMedlem sedan mars 20015 287 inlägg
#5
select case sokfalt
case "Ljud"
strKom = "samma ljudsystem."
case "Bild"
strKom = "samma bildformat."
end select

Verkar klara av den saken helt lysande!

------------------
/solbulle
Hemmabio | Spelautomater | The Who

solbulleMedlem sedan mars 20015 287 inlägg
#6

Ok, nu funkar det mesta lysande,
Men...

Jag har en länk typ:

sidan.asp?sokfalt=Ljud&sokvarde=Dolby

Där jag trots allt vill leta i flera kolumner i databasen, finns det något sätt att fixa det tro?
Alltså värdet kan finnas i Ljud men det kan finnas i Ljud2...

Börjar helt klart se att dt är databasuppbyggnaden som skall ses över...
(Eg. är fälten inte ljud utan personer - skådisar i en film, och det finns oneklgen inte bara en i varje film, har jag märkt.)

------------------
/solbulle
Hemmabio | Spelautomater | The Who

LarsGMedlem sedan dec. 200012 464 inlägg
#7

Jo, ändra din databasendesign så kommer det nog att lösa sig.

------------------
essentitia preter non sans multiplicandum

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