Avatar billede yoohan Nybegynder
02. oktober 2000 - 21:33 Der er 22 kommentarer og
2 løsninger

Hjælp til SQL Where statement

Har følgende dilemma:

I en Access tabel kaldet Priskategori har jeg værdier fra A til E.
Jeg har lavet en søgeside hvor man i en form angiver hvilken kategori man vil se.
Men hvordan kringler jeg en \'Vis alle\' funktion.

Min form requester xxx.asp?Priskategori=værdi

Har følgende SQL på xxx.asp:

SELECT Priskategori
FROM Land
WHERE Priskategori = ??????
ORDER BY Priskategori ASC
Avatar billede godtnok Nybegynder
02. oktober 2000 - 21:41 #1
WHERE Priskategori =\" & request(\"priskategori\")
Avatar billede godtnok Nybegynder
02. oktober 2000 - 21:42 #2
ups...

Where Priskategori =\"& request(\"priskategori\") & \" Order by Priskategori ASC
Avatar billede godtnok Nybegynder
02. oktober 2000 - 21:47 #3
Hov, jeg misforstod lige dit spørgsmål...

Det eneste du egentlig skal gøre er at lave en forespørgsel som ikke sorterer efter noget..

f.eks.

Select priskategori from land Order by Priskategori ASC

og så linker du simpelthelthen til siden xxx.asp

Lav derefter et check på om der findes en \" request(\"priskategori\") \" , hvis den ikke findes viser du bare alle priserne i tabellen priskategori

Håber det hjælper dig videre.

Avatar billede yoohan Nybegynder
02. oktober 2000 - 21:56 #4
It\'s not that simple, men jeg ved hvor du vil hen...

På søgesiden har jeg en form med værdierne A, B, C, D, E, Alle
hvor Alle er en fiktiv værdi som skal vise alle værdierne i tabellen. Der skal vælges en formfeltet.
Det må kunne lade sig gøre at lave noget i WHERE sætningen som \"genkender\" Alle og derefter viser records\'ene......
Avatar billede yoohan Nybegynder
02. oktober 2000 - 21:57 #5
Ups..Der skal vælges en værdi i formfeltet.
Avatar billede sa Nybegynder
02. oktober 2000 - 22:00 #6
Er det en rullemenu?
Avatar billede godtnok Nybegynder
02. oktober 2000 - 22:00 #7
hvad med denne her?

if request(\"priskategori\")= visalle then
select priskategori from land order by priskategori ASC
Else
select priskategor from land WHERE Priskategori =\" & request(\"priskategori\")
End if

Når de så vælger \"vis alle\" sæt værdien til visalle

Avatar billede sa Nybegynder
02. oktober 2000 - 22:00 #8
(dropdownmenu)
Avatar billede yoohan Nybegynder
02. oktober 2000 - 22:02 #9
SA> Ja
Avatar billede godtnok Nybegynder
02. oktober 2000 - 22:03 #10
Hvis det ikke kan løse dit problem, vil jeg gerne se lidt kode fra din side..... så jeg kan hjælpe dig videre.
Avatar billede sa Nybegynder
02. oktober 2000 - 22:06 #11
Det var nu også samme løsningsforslag, jeg ville være kommet med...

(Hvis feltet Priskategori i databasen er af typen tekst, skal der vel \' \' rundt om?? - select priskategor from land WHERE Priskategori =\'\" & request(\"priskategori\") & \"\'\"  )

Avatar billede yoohan Nybegynder
02. oktober 2000 - 22:06 #12
Ok, jeg prøver med koden...:

<%
Dim Online_index__MMColParam
Online_index__MMColParam = \"Frederiksberg\"
if(Request.QueryString(\"Amt\") <> \"\") then Online_index__MMColParam = Request.QueryString(\"Amt\")

Dim Online_index__Priskat
Online_index__Priskat = \"A\"
if(Request.QueryString(\"Priskategori\") <> \"\") then Online_index__Priskat = Request.QueryString(\"Priskategori\")
%>

<%
set Online_index = Server.CreateObject(\"ADODB.Recordset\")
Online_index.ActiveConnection = \"PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=xxxx.mdb\"
Online_index.Source = \"SELECT ID, Amt, Priskategori, Omraade  FROM Huse  WHERE (Amt = \'\" + Replace(Online_index__MMColParam, \"\'\", \"\'\'\") + \"\') AND Priskategori =\'\" + Replace(Online_index__Priskat, \"\'\", \"\'\'\") + \"\'  ORDER BY Priskategori ASC\"
%>
Avatar billede godtnok Nybegynder
02. oktober 2000 - 22:14 #13
Jeg tror også at min løsning ville virke :)

faktisk har jeg heller ikke at have set ovenstående kode, andre løsninger på aftrykkeren...
Avatar billede sa Nybegynder
02. oktober 2000 - 22:15 #14
Nej.. - Det skal naturligvis lige \"omformuleres\" til java-skrivemåde, eftersom resten er skrevet som java..
Avatar billede sa Nybegynder
02. oktober 2000 - 22:17 #15
(JScript hedder det naturligvis, når det er ASP)
Avatar billede yoohan Nybegynder
02. oktober 2000 - 22:19 #16
godtnok> Pointene er dine hvis du kan \"implementere\" din metode i min kode :-)

/Jan
Avatar billede sa Nybegynder
02. oktober 2000 - 22:22 #17
Nu er jeg ikke specielt øvet i JScript, men jeg vil gætte på noget i retning af følgende:

Erstat:

Online_index.Source = \"SELECT ID, Amt, Priskategori, Omraade  FROM Huse  WHERE (Amt = \'\" + Replace(Online_index__MMColParam, \"\'\", \"\'\'\") + \"\') AND Priskategori =\'\" + Replace(Online_index__Priskat, \"\'\", \"\'\'\") + \"\'  ORDER BY Priskategori ASC\"

med:

if (Online_index__Priskat == \"visalle\")
  Online_index.Source = \"SELECT ID, Amt, Priskategori, Omraade  FROM Huse  WHERE (Amt = \'\" + Replace(Online_index__MMColParam, \"\'\", \"\'\'\") + \"\') ORDER BY Priskategori ASC\"
else
  Online_index.Source = \"SELECT ID, Amt, Priskategori, Omraade  FROM Huse  WHERE (Amt = \'\" + Replace(Online_index__MMColParam, \"\'\", \"\'\'\") + \"\') AND Priskategori =\'\" + Replace(Online_index__Priskat, \"\'\", \"\'\'\") + \"\'  ORDER BY Priskategori ASC\"
Avatar billede sa Nybegynder
02. oktober 2000 - 22:23 #18
(Teksten fra Online_index.Source til ASC står i begge tilfælde på én linie)
Avatar billede godtnok Nybegynder
02. oktober 2000 - 22:29 #19
ok, nu lavede \"sa\" det for mig... godt, for jeg er nemlig heller ikke til Jscript :)
Avatar billede godtnok Nybegynder
02. oktober 2000 - 22:30 #20
Og hvis ovenstående er Jscript, så er jeg da virkelig glad for at jeg holdte mig til VBscript :)
Avatar billede yoohan Nybegynder
02. oktober 2000 - 22:30 #21
Det er jeg absolut heller ikke, men mangler der ikke en then og endif eller noget som afslutter det hele????
Avatar billede yoohan Nybegynder
02. oktober 2000 - 22:33 #22
øhhh, rent faktisk er det VB! Øverste linie siger:

<%@LANGUAGE=\"VBSCRIPT\"%>
<%
Dim Online_index__MMColParam
............

(laver web i Dreamweaver UltraDev, derfor de \"dumme\" spørgsmål..)
Avatar billede yoohan Nybegynder
02. oktober 2000 - 22:51 #23
Tak for hjælpen, fandt selv de sidste småting!

/Jan

PS. Håber 30 til hver er ok...!
Avatar billede godtnok Nybegynder
03. oktober 2000 - 00:26 #24
Det er bare iorden :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester