13. december 2000 - 21:56Der er
13 kommentarer og 1 løsning
Ond Cirkel
Jeg har i en tabel, 93 katagorier. de er indekseret i tal, Jeg kan uden problemer trække fra de forskellige katagorier ved at lave en : ------------------------------------ If \"1\" = Request.QueryString(\"Cat\") ------------------------------------ Meeeeennnnn Det jeg vil undgå er at lave 93 af dem i mit script... og istedet bruge en variable... så samme if statement gælder for alle 93 katagorier
If \"1\" = Request.QueryString(\"Cat\") then Sql = \"SELECT DISTINCTROW Kategorier.KategoriNavn, Produkter.Produktnavn, Produkter.Produktbeskrivelse, Produkter.PrisPrEnhed FROM Kategorier INNER JOIN Produkter ON Kategorier.Kat_ID = Produkter.Kat_ID WHERE (((Kategorier.Kat_ID)=1)) ORDER BY Produkter.Produktnavn;\" Set Record = Rs.Execute(Sql) response.write \"<html>\" response.write \"<head>\" response.write \"<title>\" & Record(\"KategoriNavn\") & \"</title>\" response.write \"</head>\" response.write \"<body bgcolor=\'#0099cc\'>\" response.write \"<table border=\'0\' align=\'center\' width=\'550\' cellpadding=\'1\' cellspacing=\'1\'>\" response.write \"<tr><td bgcolor=\'#33ccff\' colspan=\'2\'>\" & bigfont & Tname & \" / \" & \"Kategori : \" & Record(\"KategoriNavn\") & \"</font>\" & \"</td></tr>\" response.write \"<tr><td align=\'left\' height=\'3\' colspan=\'2\'></td></tr>\" Do While Not Record.EOF response.write \"<tr><td width=\'450\' align=\'left\' bgcolor=\'#99CCCC\'><b>\" & font & Record(\"Produktnavn\") & \"</b></td>\" response.write \"<td width=\'100\' align=\'right\' bgcolor=\'#00ccff\'>\" & font & Record(\"PrisPrEnhed\") & \" ddk\" & \"</td></tr>\" response.write \"<tr><td bgcolor=\'#ffffff\' align=\'left\' colspan=\'2\'>\" & font & Record(\"Produktbeskrivelse\") & \"</td></tr>\" Record.MoveNext Loop response.write \"</table>\" Record.Close RS.Close end if
------------------------------------------------
Det jeg vil er at undgå at den smøre, skal stå der 93 gange. en for hver gang jeg Requester efter en katagori i tabellen...
Eksemple:
If \"1\" = Request.QueryString(\"Cat\") then Sql = \"SELECT DISTINCTROW Kategorier.KategoriNavn, Produkter.Produktnavn, Produkter.Produktbeskrivelse, Produkter.PrisPrEnhed FROM Kategorier INNER JOIN Produkter ON Kategorier.Kat_ID = Produkter.Kat_ID WHERE (((Kategorier.Kat_ID)=1)) ORDER BY Produkter.Produktnavn;\"
----------------------
If \"2\" = Request.QueryString(\"Cat\") then Sql = \"SELECT DISTINCTROW Kategorier.KategoriNavn, Produkter.Produktnavn, Produkter.Produktbeskrivelse, Produkter.PrisPrEnhed FROM Kategorier INNER JOIN Produkter ON Kategorier.Kat_ID = Produkter.Kat_ID WHERE (((Kategorier.Kat_ID)=2)) ORDER BY Produkter.Produktnavn;\"
-------------------
If \"3\" = Request.QueryString(\"Cat\") then Sql = \"SELECT DISTINCTROW Kategorier.KategoriNavn, Produkter.Produktnavn, Produkter.Produktbeskrivelse, Produkter.PrisPrEnhed FROM Kategorier INNER JOIN Produkter ON Kategorier.Kat_ID = Produkter.Kat_ID WHERE (((Kategorier.Kat_ID)=3)) ORDER BY Produkter.Produktnavn;\"
Kan du ikke komme afsted med at droppe din IF sætning helt ?
Du skriver at du får givet din Cat via din url - så er det vel bare at anvende denne værdi i dit SQL statement:
Sql = \"SELECT DISTINCTROW Kategorier.KategoriNavn, Produkter.Produktnavn, Produkter.Produktbeskrivelse, Produkter.PrisPrEnhed FROM Kategorier INNER JOIN Produkter ON Kategorier.Kat_ID = Produkter.Kat_ID WHERE (((Kategorier.Kat_ID)=Request.QueryString(\'Cat\')) ORDER BY Produkter.Produktnavn;\"
Velbekomme. Jeg ville i øvrigt (hvis det var min kode) skrive sætningen således:
sql = \"SELECT DISTINCT k.KategoriNavn, p.Produktnavn, p.Produktbeskrivelse, p.PrisPrEnhed FROM Kategorier k, Produkter p WHERE k.Kat_ID = p.Kat_ID AND k.Kat_ID = \" sql = sql & Request.QueryString(\"Cat\")
sql = sql & \" ORDER BY p.Produktnavn;\"
- altså bruge muligheden for at anvende alias for tabelnavnene for at få (efter min mening) mere overskuelig statement.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.