Avatar billede bruhnsweb Nybegynder
24. oktober 2002 - 00:39 Der er 14 kommentarer og
1 løsning

Alfabetisk system i asp!!

Hey!

jeg har et system der holder orden på mine dbase poster alfabetisk.

Jeg har fået det her bixet sammen, men hvis jeg nu i stedet for at få dem alle listet på en side (ligesom den gør nu), Hvad så???

Det skal være sådan at når man trykker på et bogstav, så åbner den eks en QueryString("bogstav") = "A"

But how???

Nedenstående er koden..

<%
response.Write "<center>" & VbCrLf
response.Write "<FONT SIZE='2' FACE='Trebuchet MS' COLOR=""#000000"">" & VbCrLf
response.Write "<A HREF=#0>#</A>"
For x = 65 To 90
response.Write "<A HREF=#" & Chr(x) & ">" & Chr(x) & "</A> " & VbCrLf
Next
response.Write "<br><br>" & VbCrLf
Set con = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("dbase.mdb")
con.Open DSN
set objrec = server.createobject ("ADODB.recordset")
Sql = "SELECT * FROM [cocktails] order by name"
objrec.open sql, Con, 3
oldbookmark = ""
Do While Not objrec.Eof
If oldbookmark <> UCase(Mid(objrec("name"),1,1)) And Not IsNumeric(Mid(objrec("name"),1,1)) Then
If oldbookmark = "" Then
Else
response.Write "<BR>"
End If
response.Write "<FONT COLOR=#000000><b><A NAME=" & Mid(objrec("name"),1,1) & "></A>" & UCase(Mid(objrec("name"),1,1)) & "</b></FONT>"
response.Write "<br>"
oldbookmark = UCase(Mid(objrec("name"),1,1))
ElseIf IsNumeric(Mid(objrec("name"),1,1)) Then
If oldbookmark = "" Then
response.Write "<FONT COLOR=#000000><A NAME=0></A>#</FONT>"
response.Write "<BR>"
End If
oldbookmark = Mid(objrec("Titel"),1,1)
End If 

response.Write "<A HREF=cocktails.asp?Action=read&Id=" & objrec("Id") & ">" & objrec("name") & " </A></i> <BR>" & VbCrLf
objrec.MoveNext
Loop
response.Write "</FONT>" & VbCrLf
response.Write "</center>" & VbCrLf
objrec.Close %>


Håber I har nogle gode bud..!!

/Bruhn
Avatar billede oasen Nybegynder
24. oktober 2002 - 08:55 #1
Jeg går ud fra, at når man trykker på "A", skal alle poster der starter med et "A" vises.

Sql = "SELECT * FROM [cocktails] WHERE name LIKE '" & Request.Querystring("bogstav") & "%' order by name"
objrec.open sql, Con, 3

Og så kan du vel lave en lille løkke til generering af de 29 links:

Bogstaver = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,Æ,Ø,Å"
ArrBogstaver = Split(Bogstaver, ",")

For i = 0 To Ubound(ArrBogstaver)
  Response.Write "<a href='dinside.asp?bogstav=" & ArrBogstaver(i) & "'>" & ArrBogstaver(i) & "</a>&nbsp;&nbsp;"
Next
Avatar billede bruhnsweb Nybegynder
24. oktober 2002 - 09:32 #2
Skal lige gennemskue din kode.. Får en fejl 500 - intern server error..

Er nedenstående ikke den færdig kode??

<%
Sql = "SELECT * FROM [cocktails] WHERE name LIKE '" & Request.Querystring("bogstav") & "%' order by name"
objrec.open sql, Con, 3

Og så kan du vel lave en lille løkke til generering af de 29 links:
Bogstaver = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,Æ,Ø,Å"
ArrBogstaver = Split(Bogstaver, ",")

For i = 0 To Ubound(ArrBogstaver)
Response.Write "<a href='cocktails_test.asp?bogstav=" & ArrBogstaver(i) & "'>" & ArrBogstaver(i) & "</a>&nbsp;&nbsp;"
Next
%>


/Bruhn
Avatar billede medions Nybegynder
24. oktober 2002 - 10:03 #3
Oasen> Lige til orientering så kan du udskrive hele alfabetet sådanher:

For i = 65 To 90
Response.Write(Chr(i))
Next

//>Rune
Avatar billede oasen Nybegynder
24. oktober 2002 - 10:04 #4
Jo, men husk lige at åbne databasen selvfølgelig:

Set con = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("dbase.mdb")
con.Open DSN
set objrec = server.createobject ("ADODB.recordset")
Avatar billede oasen Nybegynder
24. oktober 2002 - 10:04 #5
medions ---> Ja, men så kommer der ikke danske bogstaver med, vel?
Avatar billede bruhnsweb Nybegynder
24. oktober 2002 - 10:22 #6
Har lavet det her til en udskrift :

If Request.QueryString("Bogstav") = "" Then
response.write("<br>Vælg et bogstav")
Else
Request.QueryString("Bogstav") = "'" & ArrBogstaver(i) & "'"
End If

Men så kommer den med den her fejl:

Microsoft VBScript runtime error '800a0009'
Subscript out of range: 'i'
/cocktails_test.asp, line 193


Ved I hvorfor??

/Bruhn
Avatar billede oasen Nybegynder
24. oktober 2002 - 11:07 #7
Set con = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("dbase.mdb")
con.Open DSN
set objrec = server.createobject ("ADODB.recordset")


Bogstaver = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,Æ,Ø,Å"
ArrBogstaver = Split(Bogstaver, ",")

For i = 0 To Ubound(ArrBogstaver)
  Response.Write "<a href='dinside.asp?bogstav=" & ArrBogstaver(i) & "'>" & ArrBogstaver(i) & "</a>&nbsp;&nbsp;"
Next

If Len(Request.QueryString("Bogstav")) = 1 Then

  Sql = "SELECT * FROM [cocktails] WHERE name LIKE '" & Request.Querystring("bogstav") & "%' order by name"
  objrec.open sql, Con, 3

  Response.Write objrec("name")

Else

  response.write("<br>Vælg et bogstav")

End If
Avatar billede bruhnsweb Nybegynder
24. oktober 2002 - 11:12 #8
Thanx.. ;o)
Avatar billede oasen Nybegynder
24. oktober 2002 - 11:28 #9
Det var så lidt - det virker fint nu?
Avatar billede medions Nybegynder
24. oktober 2002 - 14:11 #10
Oasen> *G* fair nok ;o)

//>Rune
Avatar billede oasen Nybegynder
25. oktober 2002 - 16:08 #11
Hvad?
Avatar billede medions Nybegynder
25. oktober 2002 - 18:22 #12
oasen> Min kommentar var til følgende kommentar:
Kommentar: oasen
24/10-2002 10:04:47

//>Rune
Avatar billede oasen Nybegynder
25. oktober 2002 - 19:21 #13
Er det da sjovt? Nå, men så vidt jeg ved skal man bare udskrive æ,ø og å efter løkken har spyttet a-z ud.
Men det er da muligt jeg tager fejl.
Avatar billede oasen Nybegynder
25. oktober 2002 - 19:27 #14
Nææ... 197, 198 og 216

Men det er da stadig kortere vil jeg give dig ret i.
Avatar billede bruhnsweb Nybegynder
26. oktober 2002 - 12:51 #15
Siden virker super..
Mangler bare en lille loop, men den burde jeg selv kunne lave..

/Bruhn
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