Avatar billede Slettet bruger
11. juli 2005 - 18:44 Der er 8 kommentarer og
1 løsning

Hente udvalgt data ved at opsætte kriterier

Jeg sidder og pusler med et script, men er lidt i tvivl om hvordan jeg får mit script til at trække ud fra dben så det kun er data der er i katagorien fx diverse og ikke som mit script er nu hvor den trækker alt ud fra dben.... jeg mener man skal skrive således:
strSQL = "Select * From digte Order by kat Desc"
for at opsætte kriterier for hvilke data der skal hentes, men kan ikke lige overskue hvordan det skal sættes ind i mit script. :-(

<%
intPage = Request("page")
If isNumeric(intPage) = False Or intPage < 1 Then
  intPage = 1
End If

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "select * from digte where vises = True ORDER BY id DESC"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db1.mdb")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
  rs.PageSize = 3
  rs.AbsolutePage = intPage
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount
  Response.Write "<font face='Verdana' size='1'><center>Side " & intPage & " af " & intPageCount & "</center></FONT>"
  Do While Not rs.EOF And intRecCount > 0
response.write "<fieldset style='padding: 2'>"
response.write "<legend><font face='Verdana' size='1'COLOR='BLACK'><b>"& rs("overskrift")&"</b></FONT>"
response.write "</legend>"
response.write "<font face='Verdana' size='1'>"
response.write rs("digt") &"<br>"
Response.Write "Forfatter:" & rs("digtaf")  & " | Tilføjetaf: <a href='mailto:" & rs("email") & "'>" & rs("navn") & "</a><br>"
response.write "</FONT></div>"
response.write "</fieldset>"
response.write "<br>"
  intRecCount = intRecCount - 1
  rs.MoveNext
  Loop
End If
rs.Close
Set rs = Nothing

Response.Write "<hr color='#DCB7DC' size='1'>"
For intNum = 1 To intPageCount
Next
Response.Write "<table border='0' cellpadding='0' cellspacing='0' width='400'>"
Response.Write "<tr>"
Response.Write "<td width='33%' align='left'>&nbsp;"
If Clng(intPage) > 1 Then
Response.Write "<a href=digt.asp?page=" & intPage - 1 & "><font face='Verdana' size='1' COLOR='#473262'><b>Forrige</b> </a>"
Else
Response.Write "<font face='Verdana' size='1' COLOR='#473262'><b>Forrige</b>"
End If
Response.Write "</td>"
Response.Write "<td width='33%' align='center'></td>"
Response.Write "<td width='34%' align='right'>"
If Clng(intPage) < Clng(intPageCount) Then
Response.Write "<a href=digt.asp?page=" & intPage + 1 & "><font face='Verdana' size='1' COLOR='#473262'><b>Næste</b></a> &nbsp;</td>"
Else
  Response.Write "<font face='Verdana' size='1' COLOR='#473262'><b>Næste</b>"
End If
Response.Write "</tr>"
Response.Write "</table>"
%>
Avatar billede nielle Nybegynder
11. juli 2005 - 20:11 #1
strSQL = "SELECT * FROM digte WHERE kategori='diverse' AND vises=True ORDER BY id DESC"
Avatar billede Slettet bruger
11. juli 2005 - 21:43 #2
kan jeg ikke bare skrive det på en anden måde frem for at skal skrive som du forslog mig nielle ...så jeg er fri for at skrive alle 10 kategorier. :-)
Avatar billede nielle Nybegynder
11. juli 2005 - 22:35 #3
Du kan jo først lave en SELECT som henter kategorier ud fra den tabel hvor de nu lgger i:

"SELECT kategori FROM kategorier ORDER BY kategori"

Dem henter du ud i et recordset vi f.eks. kunne kalde rsKat

Du har så en loop som gennemløber dette, og for hvert gennemløb danner du en anden SQL:

"SELECT * FROM digte WHERE kategori='” & rsKat("kategori") & ”' AND vises=True ORDER BY id DESC"

Når du derefter looper over det tilsvarende recordset, så har jo kun de digte som høre til netop den kategori.
Avatar billede Slettet bruger
11. juli 2005 - 23:01 #4
jeg får denne fejl:
Microsoft VBScript compilation error '800a0401'

Expected end of statement

line 14

strSQL = "SELECT * FROM digte WHERE kategori='” & rsKat("kategori") & ”' AND vises=True ORDER BY id DESC"
--------------------------------------------------------------^
Avatar billede nielle Nybegynder
11. juli 2005 - 23:11 #5
En lille udkyldigt udseende fejl - men fatal alligevel. Et par "-tegn som var blevet til ”-tegn. Prøv med:

strSQL = "SELECT * FROM digte WHERE kategori='" & rsKat("kategori") & "' AND vises=True ORDER BY id DESC"
Avatar billede Slettet bruger
11. juli 2005 - 23:16 #6
Jeg får nu denne fejl:
Microsoft VBScript runtime error '800a000d'
Type mismatch: 'rsKat'
line 14
Avatar billede nielle Nybegynder
12. juli 2005 - 06:52 #7
Prøv at post det kode du har nu.
Avatar billede Slettet bruger
15. juli 2005 - 00:36 #8
jeg fik denne løsning andet sted fra
strSQL = "Select * From digte Where kat = '" & Request.Querystring("cat") & "' Order By id Desc"
og så rettede jeg mit link til siden der fx hedder <a href="digte.asp?cat=diverse">Diverse digte</a>

men smid et svar så får du lige nogle point fordi du trod alt brugte lidt tid på at hjælpe mig :-)
Avatar billede nielle Nybegynder
15. juli 2005 - 06:15 #9
Svar :^)

... men tag du bare de fleste tilbage selv.
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