Avatar billede larsen45 Juniormester
02. oktober 2005 - 21:22 Der er 34 kommentarer og
1 løsning

Udtræk Alfabetet A til Å med Paging og sortering

Jeg vil gerne lave et udtræk fra en access database hvor man kan vælge alle bogstaverne
fra A tilÅ i alfabetet med paging og sortering.

Sådan her kan siden komme til at se ud:

-----------------------------------------------

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 · Æ · Ø · Å

Du har valgt kategori: B

Du er på side 1 af 6

<<Tilbage - Frem>> 123456

***Disse 3 overskrifter kan så sorteres af brugeren ved at klikke på dem***
Dato:        Overskrift:    Indhold:
bla bla      bla bla              bla bla

<<Tilbage - Frem>> 123456

-----------------------------------------------

Håber der er nogen der kan hjælpe mig i disse aftentimer idag.
Avatar billede larsen45 Juniormester
02. oktober 2005 - 21:24 #1
jeg glemte lige at sige at der skal være 30 visninger på hver side.
og derefter kan man klikke frem og se næste side med indhold fra databasen af.
Avatar billede softspot Forsker
02. oktober 2005 - 22:23 #2
Du har en side om paging her

http://activedeveloper.dk/artikler/default.asp?articleid=31

og det at lave en liste med alle relevante kategorier kan gøres ved at udtrække alle data via dette SQL

SELECT DISTINCT Kategori FROM tabel

Sorteringen kan laves ved at tilføje

ORDER BY <kolonnenavn>

til den forspørgsel du benytter til at hente dine data. Desuden skal din WHERE-clause filtrere på grundlag af kategorivalget (det kan f.eks. være en querystring-parameter til siden, som angiver hvilken kategori der skal vises).
Avatar billede larsen45 Juniormester
02. oktober 2005 - 23:12 #3
okay nu har jeg siddet og eksperimenteret mig frem.

se her:
------------------
<html><head>
<title>Paging af et recordset</title>
</head><body>

<font size="1">

<div align="center">

<table border="0" width="55%" cellspacing="0" cellpadding="0" id="table2">
    <tr>
        <td width="38" valign="top" bgcolor="#000000">
        <p style="margin-top: 0; margin-bottom: 0">
        <font size="1" color="#F1F2EE"><b>N</b></font><b><font size="1" color="#F1F2EE">r.</font></b></td>
        <td valign="top" width="114" bgcolor="#000000">
        <p style="margin-top: 0; margin-bottom: 0"><b>
        <font size="1" color="#F1F2EE">Dato.</font></b></td>
        <td valign="top" width="222" bgcolor="#000000">
        <p style="margin-top: 0; margin-bottom: 0"><b>
        <font size="1" color="#F1F2EE">Kunstner.</font></b></td>
        <td valign="top" bgcolor="#000000">
        <p style="margin-top: 0; margin-bottom: 0"><b>
        <font size="1" color="#F1F2EE">Track.</font></b></td>
    </tr>
</table>

</div>


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

Set rs = Server.CreateObject("ADODB.RecordSet")

strSQL = "SELECT * FROM mintabel ORDER BY dato, nr, kunstner, track"

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db/database.mdb")
rs.Open strSQL, strDSN, 1
If Not (rs.BOF Or rs.EOF) Then
  rs.PageSize = 10
  rs.AbsolutePage = intPage
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount
 

Response.Write "<center>"
Response.Write "<b>Side " & intPage & " af  " & intPageCount & "</b>"
Response.Write " Gå til side "

For intNum = 1 To intPageCount
  Response.Write "<a href=test.asp?page=" & intNum & ">" & intNum & "</a>"

Next
Response.Write "</center>"
 
  Do While Not rs.EOF And intRecCount > 0%></font><div align="center">
    <table border="0" width="54%" cellspacing="0" cellpadding="0" id="table1">
    <tr>
        <td width="38" valign="top" bgcolor="#F1F2EE">
        <div style="width: 38px; height: 14px" id="lag1">
            <p style="margin-top: 0; margin-bottom: 0"><font size="1">


<!--webbot bot="HTMLMarkup" startspan --><%=rs("nr")%><!--webbot bot="HTMLMarkup" endspan --></font></div>
        </td>
        <td valign="top" width="129" bgcolor="#F1F2EE">
        <div style="width: 117px; height: 15px" id="lag2">
            <p style="margin-top: 0; margin-bottom: 0"><font size="1">


<!--webbot bot="HTMLMarkup" startspan --><%=rs("dato")%><!--webbot bot="HTMLMarkup" endspan --></font></div>
        </td>
        <td valign="top" width="236" bgcolor="#F1F2EE">
        <div style="width: 222px; height: 15px" id="lag3">
            <p style="margin-top: 0; margin-bottom: 0"><font size="1">


<!--webbot bot="HTMLMarkup" startspan --><%=rs("kunstner")%><!--webbot bot="HTMLMarkup" endspan --></font></div>
        </td>
        <td valign="top" bgcolor="#F1F2EE">
        <div style="width: 300px; height: 15px" id="lag4">
            <p style="margin-top: 0; margin-bottom: 0"><font size="1">


<!--webbot bot="HTMLMarkup" startspan --><%=rs("track")%><!--webbot bot="HTMLMarkup" endspan --></font></div>
        </td>
    </tr>
</table>
</div>
<p style="margin-top: 0; margin-bottom: 0" align="center"><font size="1">


<%
  intRecCount = intRecCount - 1
  rs.MoveNext
  Loop
End If
rs.Close
Set rs = Nothing

If Clng(intPage) > 1 Then
  Response.Write "<a href=test.asp?page=" & intPage - 1 & ">&lt;&lt;</a>"
Else
  Response.Write "&lt;&lt;"
End If

If Clng(intPage) < Clng(intPageCount) Then
  Response.Write "<a href=test.asp?page=" & intPage + 1 & ">&gt;&gt;</a> "
Else
  Response.Write "&gt;&gt;"
End If

Response.Write "Gå til side "
For intNum = 1 To intPageCount
  Response.Write "<a href=test.asp?page=" & intNum & ">" & intNum & "</a> "
Next

%>

</font></p>


</body></html>

Jeg ved ikke helt hvordan jeg for lavet den sorterings måde korrekt. Jeg vil gerne have at folk kan klikke på overskrifterne og selv kunne sortere efter hvad de har lyst til.

Jeg ved heller ikke hvordan jeg for vist hvilken kategori de står i øverst på siden. som F.eks. B.
Og så er der det med at jeg ikke ved hvordan jeg i denne kode kan få indsat hele alfabetet som folk kan klikke på og komme til det rette sted.
Avatar billede softspot Forsker
02. oktober 2005 - 23:28 #4
Det letteste ville nok være at sende nogle parametre med til din side (som du allerede er igang med). Dem du skal sende med er umiddelbart:

sidenr
kategori
sortering
sorteringsorden

disse parametre skal du så have flettet ind i diverse SQL-sætninger og paging-funktionaliteter.

Mht. opbygningen af kategoriovesigten, så afhænger det af hvordan du registrerer dine kategorier i databasen.
Avatar billede larsen45 Juniormester
02. oktober 2005 - 23:52 #5
som database tabellen ser ud nu er den meget simple da jeg er i tvivl om hvor mange felter jeg skal have med for at få det hele til at virke.
min tabel hedder: mintabel
jeg har felterne: dato,nr,kunstner,track

Er man nød til at lave felter der hedder a og b og c og så videre eller kan det gøres lettere.

Håber du har en ide om hvad den bedste løsning er.
Avatar billede softspot Forsker
03. oktober 2005 - 00:05 #6
Nej, dine tabeller skal ikke afspejle data, men strukturen af data, dvs. den gruppering der er i data og hvordan data relaterer til hinanden. Derfor skal du helst ikke tænke på at kalde felterne a, b, c, d osv.

Jeg savner et felt der hedder kategori (som skal indeholde en af værdierne a, b, c, d osv.). Det felt skal benyttes ifm. opbygning af kategorioversigten og vælges med den SELECT DISTINCT jeg startede med at ævle om :)

Hvad er det f.eks. der får en række i databasen til at tilhøre kategorien A?
Avatar billede larsen45 Juniormester
03. oktober 2005 - 00:18 #7
jeg har nu tilføjet et felt der hedder: Kategori til tabellen
Angående hvad der for nået til at tilhører i kategori A så regner jeg med at det første bogstav eller første ord skal afgøre om det hører til i A eller B men der nok flere måder at gøre det på, jeg kender dem så bare ikke.
Avatar billede softspot Forsker
03. oktober 2005 - 00:59 #8
Hvis kategorien kan bestemmes ud fra nogle af de eksisterende data behøves du ikke oprette et ekstra felt, så kan du bare tage udgangspunkt i de data der allerede er i række. Hvis kategorien kan bestemmes ud fra forbogstavet i f.eks. kunstner, så kan du lave en forspørgsel således:

strSortColumn = request.querystring("sortcol") & ""
strSortOrder = request.querystring("sortorder") & ""

strSQL = "SELECT DISTINCT UCASE(LEFT(kunstner,1)) AS kategori FROM mintabel"

set rs = conn.execute(strSQL)
do while not rs.eof
  response.write "<a href=""?page=" & intPage & "&kategori=" & rs("kategori")
  if strSortColumn <> "" then
    response.write "&sortcol=" & strSortColumn
  end if
  if strSortOrder <> "" then
    response.write "&sortorder=" & strSortOrder
  end if
  response.write """>" & rs("kategori") & "</a>"

  rs.movenext

  if not rs.eof then
    response.write " - "
  end if
loop
rs.close
set rs = nothing

Hvor conn er dit connectionobjekt (som jeg anbefaler du laver, hvis du har mere end en forspørgsel imod databasen i samme arbejdsgang, da det sparer resurser på serveren). Sådan en connection-sjover kan du lave således:

set conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN

strDSN er så den connectionstring du allerede har defineret i din kode nu.
Avatar billede larsen45 Juniormester
03. oktober 2005 - 03:08 #9
jeg har lidt svært ved at finde rundt i den kode men jeg er kommet så langt nu efter en del tid at jeg kan få vist et udtræk fra databasen med alfabetet men ved ikke hvordan jeg for vist selve indholdet fra hver kategori, så det hele bliver liste frem når der trykkes på A eller en af de andre.

<%
Set rs = Server.CreateObject("ADODB.RecordSet")

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db/musikhits.mdb")
set conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN


strSortColumn = request.querystring("sortcol") & ""
strSortOrder = request.querystring("sortorder") & ""

strSQL = "SELECT DISTINCT UCASE(LEFT(kunstner,1)) AS kategori FROM dancetrancetop60september2005"

set rs = conn.execute(strSQL)
do while not rs.eof
  response.write "<a href=""?page=" & intPage & "&kategori=" & rs("kategori")
  if strSortColumn <> "" then
    response.write "&sortcol=" & strSortColumn
  end if
  if strSortOrder <> "" then
    response.write "&sortorder=" & strSortOrder
  end if
  response.write """>" & rs("kategori") & "</a>"

  rs.movenext

  if not rs.eof then
    response.write " - "
  end if
loop
rs.close
set rs = nothing
%>

jeg har skrevet et bogstav i hver kategori som er a eller b eller c og så videre.
Avatar billede larsen45 Juniormester
03. oktober 2005 - 03:12 #10
dette er dog en ny test database som jeg har lavet med samme indhold da jeg havde lidt bøvl med den anden jeg arbejdede med.
Avatar billede larsen45 Juniormester
03. oktober 2005 - 03:15 #11
jeg sagde vist nået forkert jeg kan jo kun se fra a til u i alfabetet så der mangler lidt kan jeg se.
Avatar billede softspot Forsker
03. oktober 2005 - 09:55 #12
Der er fordi der ikke er nogen kunstnere med de sidste bogstaver, vil jeg gætte på (det er derfor jeg ville lave den der select fra database). Hvis du val have et fuldt alfabet, så kan du bare lave et loop fra a til å og skrive et link over hvert bogstav:

letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"
for i = 1 to len(letters)
  response.write "<a href=""?page=" & intPage & "&kategori=" & mid(letters,i,1)
  if strSortColumn <> "" then
    response.write "&sortcol=" & strSortColumn
  end if
  if strSortOrder <> "" then
    response.write "&sortorder=" & strSortOrder
  end if
  response.write """>" & mid(letters,i,1) & "</a>"

  rs.movenext

  if not rs.eof then
    response.write " - "
  end if
next
Avatar billede larsen45 Juniormester
03. oktober 2005 - 15:34 #13
Jeg er sku for dum til det her lige meget hvad jeg gør så vil det ikke som jeg vil.
Jeg vil bare gerne have hele alfabetet vist og når der er en som klikker på et bostav C så fremkommer alt med bostav C og hvis der er mere end 30 poster så kan de igennem paging se resten af posterne.

Hvis jeg kunne få det til at virke var jeg et meget stort stykke af vejen.
Bagefter skal der så tilføjes den funktion at folk online selv kan trykke på en af overskrifterne og sortere asc eller desc efter deres ønske.
Avatar billede softspot Forsker
03. oktober 2005 - 17:41 #14
Her har du en side som stille de faciliteter til rådighed du har brug for til at lave din paging. Det du skal gøre herfra er som sådan at passe paging-koden ind i siden der hvor jeg har skrevet:

'
' TODO: smid din pagingkode ind her!!!
'

Jeg vil anbefale at du laver selve rækkerne i dit recordset til en del af tabellen med overskrifterne, så følger headerbredden indholdet. Det betyder nok også at du er nød til at rykke selve paging-baren (den med siderne og links dertil) ned efter tabellen. Hvert link skal (som kategoribarens links) have alle 4 parametre med. Du kan evt. tage udgangspunkt i link-strukturen fra kategoribaren...

Her kommer koden:

<%@ language="vbscript" %>
<%
function reverseOrder(strOrder)
  if lcase(strOrder) = "asc" then
    reverseOrder = "desc"
  else
    reverseOrder = "asc"
  end if
end function

strSortColumn = Request.QueryString("sortcol") & ""
strSortOrder = Request.QueryString("sortorder") & ""
strKategori = Request.QueryString("kategori") & ""
strPage = Request.QueryString("page") & ""

' Sæt standardværdier, hvis der mangler informationer
if strSortColumn = "" then
  strSortColumn = "dato"
end if
if strSortOrder = "" then
  strSortOrder = "asc"
end if
if strKategori = "" then
  strKategori = "A"
end if
if strPage = "" then
  strPage = "1"
end if
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
  <head>
    <title>pagingEx1</title>
  </head>
  <body>
   
<%
letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"
for i = 1 to len(letters)
  response.write "<a href=""?page=" & strPage & "&kategori=" & mid(letters,i,1)
  if strSortColumn <> "" then
    response.write "&sortcol=" & strSortColumn
  end if
  if strSortOrder <> "" then
    response.write "&sortorder=" & strSortOrder
  end if
  response.write """>" & mid(letters,i,1) & "</a>"

  if i < len(letters) then
    response.write " - "
  end if
next
%>

    <table>
      <tr>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=dato&sortorder=<%=reverseOrder(strSortOrder)%>">
            Dato</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=nr&sortorder=<%=reverseOrder(strSortOrder)%>">
            Nr</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=kunstner&sortorder=<%=reverseOrder(strSortOrder)%>">
            Kunstner</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=track&sortorder=<%=reverseOrder(strSortOrder)%>">
            Spor</a></td>
      </tr>

<%
SQL = "SELECT * FROM mintabel WHERE LEFT(kunstner,1) = '" & strKategori &"' ORDER BY " & strSortColumn & " " & strSortOrder
'
' TODO: smid din pagingkode ind her!!!
'
%>

     
    </table>   
  </body>
</html>
Avatar billede larsen45 Juniormester
03. oktober 2005 - 20:47 #15
jeg ved ikke om jeg er på rette vej nu men se lige her:
---------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
  <head>
    <title>pagingEx1</title>
  </head>
  <body>

<%
Set rs = Server.CreateObject("ADODB.RecordSet")

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db/musikhits.mdb")
set conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN
%>
   
<%
letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"
for i = 1 to len(letters)
  response.write "<a href=""?page=" & strPage & "&kategori=" & mid(letters,i,1)
  if strSortColumn <> "" then
    response.write "&sortcol=" & strSortColumn
  end if
  if strSortOrder <> "" then
    response.write "&sortorder=" & strSortOrder
  end if
  response.write """>" & mid(letters,i,1) & "</a>"

  if i < len(letters) then
    response.write " - "
  end if
next
%>

    <table>
      <tr>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=dato&sortorder=<%=reverseOrder(strSortOrder)%>">
            Dato</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=nr&sortorder=<%=reverseOrder(strSortOrder)%>">
            Nr</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=kunstner&sortorder=<%=reverseOrder(strSortOrder)%>">
            Kunstner</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=track&sortorder=<%=reverseOrder(strSortOrder)%>">
            Track</a></td>
      </tr>

<%
strSQL = "SELECT * FROM dancetrancetop60september2005 WHERE LEFT(kunstner,1) = '" & strKategori &"' ORDER BY " & strSortColumn & " " & strSortOrder
Set rs = Conn.Execute(strSQL)

do while not rs.EOF
%>

<br>
<%=rs("kategori")%><br>
<%=rs("dato")%><br>
<%=rs("nr")%><br>
<%=rs("kunstner")%><br>
<%=rs("track")%><%

%>


<%
rs.Movenext
Loop
set rs = nothing
%>
     
    </table>   
  </body>
</html>

---------------------
Jeg for denne fejl her:
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 - Æ - Ø - Å

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'reverseOrder'

/test3.asp, line 38


Linie 38 er:
<a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=dato&sortorder=<%=reverseOrder(strSortOrder)%>">
Avatar billede softspot Forsker
03. oktober 2005 - 20:55 #16
Hvor er den funktion der hedder reverseOrder? Jeg havde lagt den i toppen af scriptet, så hvis du har fjernet den kan det være det der er galt nu...
Avatar billede larsen45 Juniormester
03. oktober 2005 - 21:32 #17
Ups det havde jeg lige kommet til at fjerne ved en fejl nu er det med igen.

Der er kommet liv i koden nu kan jeg vælge alfabetet og der fremkommer indholdet nede under.

Men hvordan for jeg Dato Nr Kunstner Track til at stå øverst sådan her:
--------------------------
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 - Æ - Ø - Å

Du har valgt kategori: B

Du er på side 1 af 6

<<Tilbage - Frem>> 123456

Dato Nr Kunstner Track

bla bla bla bla  bla bla

<<Tilbage - Frem>> 123456

--------------------------
Jeg skal på en eller anden måde se om jeg kan få det paging activedeveloper script ind i så hvis der er valgt A og A har mere end X antal poster så kan der bladres videre ved at trykke Tilbage og Frem.


Men det begynder at lysne nu ihvertfald.



Lige nu står det sådan her:

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 - Æ - Ø - Å

g
02-9-2005 21:26:28
25
Groove coverage
She (skam mix edit)g
02-9-2005 21:26:28
26
Groove Coverage
Holy Virgin (Vocal Radio Edit)g
02-9-2005 21:26:28
27
Gaz West And Phil York
Liberta
 
Dato Nr Kunstner Track
Avatar billede larsen45 Juniormester
03. oktober 2005 - 21:34 #18
glemte lige koden her er den:
-------------------------------

<%@ language="vbscript" %>
<%
function reverseOrder(strOrder)
  if lcase(strOrder) = "asc" then
    reverseOrder = "desc"
  else
    reverseOrder = "asc"
  end if
end function

strSortColumn = Request.QueryString("sortcol") & ""
strSortOrder = Request.QueryString("sortorder") & ""
strKategori = Request.QueryString("kategori") & ""
strPage = Request.QueryString("page") & ""

' Sæt standardværdier, hvis der mangler informationer
if strSortColumn = "" then
  strSortColumn = "dato"
end if
if strSortOrder = "" then
  strSortOrder = "asc"
end if
if strKategori = "" then
  strKategori = "A"
end if
if strPage = "" then
  strPage = "1"
end if
%>



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
  <head>
    <title>pagingEx1</title>
  </head>
  <body>

<%
Set rs = Server.CreateObject("ADODB.RecordSet")

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db/musikhits.mdb")
set conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN

   
letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"
for i = 1 to len(letters)
  response.write "<a href=""?page=" & strPage & "&kategori=" & mid(letters,i,1)
  if strSortColumn <> "" then
    response.write "&sortcol=" & strSortColumn
  end if
  if strSortOrder <> "" then
    response.write "&sortorder=" & strSortOrder
  end if
  response.write """>" & mid(letters,i,1) & "</a>"

  if i < len(letters) then
    response.write " - "
  end if
next
%>


<table>
      <tr>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=dato&sortorder=<%=reverseOrder(strSortOrder)%>">
            Dato</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=nr&sortorder=<%=reverseOrder(strSortOrder)%>">
            Nr</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=kunstner&sortorder=<%=reverseOrder(strSortOrder)%>">
            Kunstner</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=track&sortorder=<%=reverseOrder(strSortOrder)%>">
            Track</a></td>
      </tr>
<br> 


<%
strSQL = "SELECT * FROM dancetrancetop60september2005 WHERE LEFT(kunstner,1) = '" & strKategori &"' ORDER BY " & strSortColumn & " " & strSortOrder
Set rs = Conn.Execute(strSQL)

do while not rs.EOF
%>

<%=rs("kategori")%><br>
<%=rs("dato")%><br>
<%=rs("nr")%><br>
<%=rs("kunstner")%><br>
<%=rs("track")%><%

%>


<%
rs.Movenext
Loop
set rs = nothing
%>
     
    </table>   
  </body>
</html>
Avatar billede softspot Forsker
03. oktober 2005 - 21:41 #19
Denne del af koden skulle gerne formateres som en tabel (lad os lige vente med pagineringen for nuværende - den tager vi bagefter):

<table>
      <tr>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=dato&sortorder=<%=reverseOrder(strSortOrder)%>">
            Dato</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=nr&sortorder=<%=reverseOrder(strSortOrder)%>">
            Nr</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=kunstner&sortorder=<%=reverseOrder(strSortOrder)%>">
            Kunstner</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=track&sortorder=<%=reverseOrder(strSortOrder)%>">
            Track</a></td>
      </tr>
<%
strSQL = "SELECT * FROM dancetrancetop60september2005 WHERE LEFT(kunstner,1) = '" & strKategori &"' ORDER BY " & strSortColumn & " " & strSortOrder
Set rs = Conn.Execute(strSQL)

do while not rs.EOF
%>
      <tr>
        <td><%=rs("dato")%></td>
        <td><%=rs("nr")%></td>
        <td><%=rs("kunstner")%></td>
        <td><%=rs("track")%></td>
      </tr>
<%
  rs.Movenext
Loop
set rs = nothing
%>
     
    </table>
Avatar billede larsen45 Juniormester
03. oktober 2005 - 21:58 #20
ja det virker perfekt den del.
nu bliver det fremvist sådan her:

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 - Æ - Ø - Å
Dato Nr Kunstner Track
02-9-2005 21:26:28 26 Groove Coverage Holy Virgin (Vocal Radio Edit)
02-9-2005 21:26:28 27 Gaz West And Phil York Liberta
02-9-2005 21:26:28 25 Groove coverage She (skam mix edit)

Så langt så godt det kører bare derud af nu.
Avatar billede softspot Forsker
03. oktober 2005 - 22:18 #21
Så lad os prøve at koble pagineringen på selve indholder i tabellen:

strSQL = "SELECT * FROM dancetrancetop60september2005 WHERE LEFT(kunstner,1) = '" & strKategori &"' ORDER BY " & strSortColumn & " " & strSortOrder

rs.Open strSQL, Conn, 1
If Not (rs.BOF Or rs.EOF) Then
  rs.PageSize = 10
  rs.AbsolutePage = int(strPage)
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount

  do while not rs.EOF
%>
      <tr>
        <td><%=rs("dato")%></td>
        <td><%=rs("nr")%></td>
        <td><%=rs("kunstner")%></td>
        <td><%=rs("track")%></td>
      </tr>
<%
    rs.Movenext
  Loop
End if
rs.close
set rs = nothing
%>
    </table>
Avatar billede softspot Forsker
03. oktober 2005 - 22:20 #22
Ovenstående udskifter det "gamle" kode :)
Avatar billede softspot Forsker
03. oktober 2005 - 22:25 #23
OK, det kan da godt være vi lige skal have en tæller med, så vi ikke bare losser alt ud fra starten af den aktuelle side til slutningen af resultatet... :)

Prøv lige at indsætte nedenstående kode i stedet for den jeg postede kl. 22:18:48.


strSQL = "SELECT * FROM dancetrancetop60september2005 WHERE LEFT(kunstner,1) = '" & strKategori &"' ORDER BY " & strSortColumn & " " & strSortOrder

rs.Open strSQL, Conn, 1
If Not (rs.BOF Or rs.EOF) Then
  rs.PageSize = 10
  rs.AbsolutePage = int(strPage)
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount

  do while not rs.EOF and intRecCount > 0
%>
      <tr>
        <td><%=rs("dato")%></td>
        <td><%=rs("nr")%></td>
        <td><%=rs("kunstner")%></td>
        <td><%=rs("track")%></td>
      </tr>
<%
    intRecCount = intRecCount - 1
    rs.Movenext
  Loop
End if
rs.close
set rs = nothing
%>
    </table>
Avatar billede softspot Forsker
03. oktober 2005 - 22:37 #24
Derefter skal du have lavet en page-selector i toppen og i bunden af siden. Fordi du skal bruge den 2 steder vil jeg anbefale at du implementerer den som en funktion.

sub pageSelector(intPageCount)
  dim intNum
 
  If Clng(strPage) > 1 Then
    Response.Write "<a href=""?page=" & int(strPage) - 1
    Response.Write "&kategori=" & strKategori
    Response.Write "&sortcol=" & strSortColumn
    Response.Write "&sortorder=" & strSortOrder
    Response.Write ">&lt;&lt;</a>&nbsp;"
  Else
    Response.Write "&lt;&lt;"
  End If

  If Clng(strPage) < Clng(intPageCount) Then
    Response.Write "<a href=""?page=" & int(strPage) + 1
    Response.Write "&kategori=" & strKategori
    Response.Write "&sortcol=" & strSortColumn
    Response.Write "&sortorder=" & strSortOrder
    Response.Write ">&gt;&gt;</a>&nbsp;"
  Else
    Response.Write "&gt;&gt;"
  End If

  Response.Write " Gå til side "
  For intNum = 1 To intPageCount
    Response.Write "<a href=""?page=" & intNum
    Response.Write "&kategori=" & strKategori
    Response.Write "&sortcol=" & strSortColumn
    Response.Write "&sortorder=" & strSortOrder
    Response.Write ">" & intNum & "</a>&nbsp;"
  Next
end sub

Denne sub skal så bare kaldes i toppen (inden tabellen startes) og i bunden (efter tabellen er afsluttet), så  burde du have den samme page-selector begge steder...
Avatar billede softspot Forsker
03. oktober 2005 - 22:39 #25
Ups! Der mangler lige afslutning af href-strengen i links.

sub pageSelector(intPageCount)
  dim intNum
 
  If Clng(strPage) > 1 Then
    Response.Write "<a href=""?page=" & int(strPage) - 1
    Response.Write "&kategori=" & strKategori
    Response.Write "&sortcol=" & strSortColumn
    Response.Write "&sortorder=" & strSortOrder
    Response.Write """>&lt;&lt;</a>&nbsp;"
  Else
    Response.Write "&lt;&lt;"
  End If

  If Clng(strPage) < Clng(intPageCount) Then
    Response.Write "<a href=""?page=" & int(strPage) + 1
    Response.Write "&kategori=" & strKategori
    Response.Write "&sortcol=" & strSortColumn
    Response.Write "&sortorder=" & strSortOrder
    Response.Write """>&gt;&gt;</a>&nbsp;"
  Else
    Response.Write "&gt;&gt;"
  End If

  Response.Write " Gå til side "
  For intNum = 1 To intPageCount
    Response.Write "<a href=""?page=" & intNum
    Response.Write "&kategori=" & strKategori
    Response.Write "&sortcol=" & strSortColumn
    Response.Write "&sortorder=" & strSortOrder
    Response.Write """>" & intNum & "</a>&nbsp;"
  Next
end sub
Avatar billede larsen45 Juniormester
03. oktober 2005 - 22:42 #26
Håber jeg har gjort det rigtigt
Det står sådan her nu:
---------------------------
<%@ language="vbscript" %>
<%
function reverseOrder(strOrder)
  if lcase(strOrder) = "asc" then
    reverseOrder = "desc"
  else
    reverseOrder = "asc"
  end if
end function

strSortColumn = Request.QueryString("sortcol") & ""
strSortOrder = Request.QueryString("sortorder") & ""
strKategori = Request.QueryString("kategori") & ""
strPage = Request.QueryString("page") & ""

' Sæt standardværdier, hvis der mangler informationer
if strSortColumn = "" then
  strSortColumn = "dato"
end if
if strSortOrder = "" then
  strSortOrder = "asc"
end if
if strKategori = "" then
  strKategori = "A"
end if
if strPage = "" then
  strPage = "1"
end if
%>



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
  <head>
    <title>pagingEx1</title>
  </head>
  <body>

<%
Set rs = Server.CreateObject("ADODB.RecordSet")

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db/musikhits.mdb")
set conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN

   
letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"
for i = 1 to len(letters)
  response.write "<a href=""?page=" & strPage & "&kategori=" & mid(letters,i,1)
  if strSortColumn <> "" then
    response.write "&sortcol=" & strSortColumn
  end if
  if strSortOrder <> "" then
    response.write "&sortorder=" & strSortOrder
  end if
  response.write """>" & mid(letters,i,1) & "</a>"

  if i < len(letters) then
    response.write " - "
  end if
next
%>


<table>
      <tr>
        <td width="38">
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=dato&sortorder=<%=reverseOrder(strSortOrder)%>">
            Dato</a></td>
        <td width="21">
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=nr&sortorder=<%=reverseOrder(strSortOrder)%>">
            Nr</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=kunstner&sortorder=<%=reverseOrder(strSortOrder)%>">
            Kunstner</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=track&sortorder=<%=reverseOrder(strSortOrder)%>">
            Track</a></td>
      </tr>
<%
strSQL = "SELECT * FROM dancetrancetop60september2005 WHERE LEFT(kunstner,1) = '" & strKategori &"' ORDER BY " & strSortColumn & " " & strSortOrder

rs.Open strSQL, Conn, 1
If Not (rs.BOF Or rs.EOF) Then
  rs.PageSize = 10
  rs.AbsolutePage = int(strPage)
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount

  do while not rs.EOF and intRecCount > 0
%>
      <tr>
        <td><%=rs("dato")%></td>
        <td><%=rs("nr")%></td>
        <td><%=rs("kunstner")%></td>
        <td><%=rs("track")%></td>
      </tr>
<%
    intRecCount = intRecCount - 1
    rs.Movenext
  Loop
End if
rs.close
set rs = nothing
%>
    </table>
       
  </body>
</html>


Det virker fint nok mangler dog stadig paging visningen.
Avatar billede larsen45 Juniormester
03. oktober 2005 - 22:48 #27
Har prøvet dette her nu men virker ikke:
--------------------------

<%@ language="vbscript" %>
<%
function reverseOrder(strOrder)
  if lcase(strOrder) = "asc" then
    reverseOrder = "desc"
  else
    reverseOrder = "asc"
  end if
end function

strSortColumn = Request.QueryString("sortcol") & ""
strSortOrder = Request.QueryString("sortorder") & ""
strKategori = Request.QueryString("kategori") & ""
strPage = Request.QueryString("page") & ""

' Sæt standardværdier, hvis der mangler informationer
if strSortColumn = "" then
  strSortColumn = "dato"
end if
if strSortOrder = "" then
  strSortOrder = "asc"
end if
if strKategori = "" then
  strKategori = "A"
end if
if strPage = "" then
  strPage = "1"
end if
%>



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
  <head>
    <title>pagingEx1</title>
  </head>
  <body>

<%
Set rs = Server.CreateObject("ADODB.RecordSet")

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db/musikhits.mdb")
set conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN

   
letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"
for i = 1 to len(letters)
  response.write "<a href=""?page=" & strPage & "&kategori=" & mid(letters,i,1)
  if strSortColumn <> "" then
    response.write "&sortcol=" & strSortColumn
  end if
  if strSortOrder <> "" then
    response.write "&sortorder=" & strSortOrder
  end if
  response.write """>" & mid(letters,i,1) & "</a>"

  if i < len(letters) then
    response.write " - "
  end if
next
%>


<table>
      <tr>
        <td width="38">
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=dato&sortorder=<%=reverseOrder(strSortOrder)%>">
            Dato</a></td>
        <td width="21">
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=nr&sortorder=<%=reverseOrder(strSortOrder)%>">
            Nr</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=kunstner&sortorder=<%=reverseOrder(strSortOrder)%>">
            Kunstner</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=track&sortorder=<%=reverseOrder(strSortOrder)%>">
            Track</a></td>
      </tr>
<%
strSQL = "SELECT * FROM dancetrancetop60september2005 WHERE LEFT(kunstner,1) = '" & strKategori &"' ORDER BY " & strSortColumn & " " & strSortOrder

rs.Open strSQL, Conn, 1
If Not (rs.BOF Or rs.EOF) Then
  rs.PageSize = 10
  rs.AbsolutePage = int(strPage)
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount

  do while not rs.EOF and intRecCount > 0
%>
      <tr>
        <td><%=rs("dato")%></td>
        <td><%=rs("nr")%></td>
        <td><%=rs("kunstner")%></td>
        <td><%=rs("track")%></td>
      </tr>
<%
    intRecCount = intRecCount - 1
    rs.Movenext
  Loop
End if
rs.close
set rs = nothing
%>


<%
sub pageSelector(intPageCount)
  dim intNum
 
  If Clng(strPage) > 1 Then
    Response.Write "<a href=""?page=" & int(strPage) - 1
    Response.Write "&kategori=" & strKategori
    Response.Write "&sortcol=" & strSortColumn
    Response.Write "&sortorder=" & strSortOrder
    Response.Write """>&lt;&lt;</a>&nbsp;"
  Else
    Response.Write "&lt;&lt;"
  End If

  If Clng(strPage) < Clng(intPageCount) Then
    Response.Write "<a href=""?page=" & int(strPage) + 1
    Response.Write "&kategori=" & strKategori
    Response.Write "&sortcol=" & strSortColumn
    Response.Write "&sortorder=" & strSortOrder
    Response.Write """>&gt;&gt;</a>&nbsp;"
  Else
    Response.Write "&gt;&gt;"
  End If

  Response.Write " Gå til side "
  For intNum = 1 To intPageCount
    Response.Write "<a href=""?page=" & intNum
    Response.Write "&kategori=" & strKategori
    Response.Write "&sortcol=" & strSortColumn
    Response.Write "&sortorder=" & strSortOrder
    Response.Write """>" & intNum & "</a>&nbsp;"
  Next
end sub
%>



    </table>
       
  </body>
</html>
Avatar billede softspot Forsker
03. oktober 2005 - 22:58 #28
Jeg vil til hver en tid anbefale at du placerer defintioner af funktioner/subs i toppen af dit script, så det ikke ligger rundt omkring i siden. Derfor vil jeg foreslå at du strukturerer din kode således (i øvrigt nævnte jeg noget med at placere page-selectoren udenfor tabellen ;)):

<%@ language="vbscript" %>
<%
function reverseOrder(strOrder)
  if lcase(strOrder) = "asc" then
    reverseOrder = "desc"
  else
    reverseOrder = "asc"
  end if
end function

sub pageSelector(intPageCount)
  dim intNum
 
  If Clng(strPage) > 1 Then
    Response.Write "<a href=""?page=" & int(strPage) - 1
    Response.Write "&kategori=" & strKategori
    Response.Write "&sortcol=" & strSortColumn
    Response.Write "&sortorder=" & strSortOrder
    Response.Write """>&lt;&lt;</a>&nbsp;"
  Else
    Response.Write "&lt;&lt;"
  End If

  If Clng(strPage) < Clng(intPageCount) Then
    Response.Write "<a href=""?page=" & int(strPage) + 1
    Response.Write "&kategori=" & strKategori
    Response.Write "&sortcol=" & strSortColumn
    Response.Write "&sortorder=" & strSortOrder
    Response.Write """>&gt;&gt;</a>&nbsp;"
  Else
    Response.Write "&gt;&gt;"
  End If

  Response.Write " Gå til side "
  For intNum = 1 To intPageCount
    Response.Write "<a href=""?page=" & intNum
    Response.Write "&kategori=" & strKategori
    Response.Write "&sortcol=" & strSortColumn
    Response.Write "&sortorder=" & strSortOrder
    Response.Write """>" & intNum & "</a>&nbsp;"
  Next
end sub

strSortColumn = Request.QueryString("sortcol") & ""
strSortOrder = Request.QueryString("sortorder") & ""
strKategori = Request.QueryString("kategori") & ""
strPage = Request.QueryString("page") & ""

' Sæt standardværdier, hvis der mangler informationer
if strSortColumn = "" then
  strSortColumn = "dato"
end if
if strSortOrder = "" then
  strSortOrder = "asc"
end if
if strKategori = "" then
  strKategori = "A"
end if
if strPage = "" then
  strPage = "1"
end if
%>



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
  <head>
    <title>pagingEx1</title>
  </head>
  <body>

<%
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db/musikhits.mdb")
set conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN

   
letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"
for i = 1 to len(letters)
  response.write "<a href=""?page=" & strPage & "&kategori=" & mid(letters,i,1)
  if strSortColumn <> "" then
    response.write "&sortcol=" & strSortColumn
  end if
  if strSortOrder <> "" then
    response.write "&sortorder=" & strSortOrder
  end if
  response.write """>" & mid(letters,i,1) & "</a>"

  if i < len(letters) then
    response.write " - "
  end if
next


strSQL = "SELECT * FROM dancetrancetop60september2005 WHERE LEFT(kunstner,1) = '" & strKategori &"' ORDER BY " & strSortColumn & " " & strSortOrder

rs.Open strSQL, Conn, 1
If Not (rs.BOF Or rs.EOF) Then
  rs.PageSize = 10
  rs.AbsolutePage = int(strPage)
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount

  pageSelector intPageCount

%>
<table>
      <tr>
        <td width="38">
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=dato&sortorder=<%=reverseOrder(strSortOrder)%>">
            Dato</a></td>
        <td width="21">
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=nr&sortorder=<%=reverseOrder(strSortOrder)%>">
            Nr</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=kunstner&sortorder=<%=reverseOrder(strSortOrder)%>">
            Kunstner</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=track&sortorder=<%=reverseOrder(strSortOrder)%>">
            Track</a></td>
      </tr>
<%
  do while not rs.EOF and intRecCount > 0
%>
      <tr>
        <td><%=rs("dato")%></td>
        <td><%=rs("nr")%></td>
        <td><%=rs("kunstner")%></td>
        <td><%=rs("track")%></td>
      </tr>
<%
    intRecCount = intRecCount - 1
    rs.Movenext
  Loop
%>
    </table>
<%
  pageSelector intPageCount
End if
rs.close
set rs = nothing
%>
       
  </body>
</html>


Jeg har set mig nødsaget til at rykke selve tabellen ind i betingelsen med not (rs.eof or rs.bof), hvilket betyder at der ikke vil blive vist noget på siden hvis resultatet er tomt. Det kan vi lige tage bagefter, nu vil vi gerne se dette fungere først :)
Avatar billede larsen45 Juniormester
03. oktober 2005 - 23:08 #29
Jeg for denne fejl:
Microsoft VBScript runtime error '800a01a8'

Object required: 'rs'

/test3.asp, line 99


Linie 99 er:
rs.Open strSQL, Conn, 1
Avatar billede softspot Forsker
03. oktober 2005 - 23:10 #30
Indsæt denne linie

Set rs = Server.CreateObject("ADODB.RecordSet")

umiddelbart inden denne linie

rs.Open strSQL, Conn, 1
Avatar billede larsen45 Juniormester
03. oktober 2005 - 23:49 #31
okay nu kom der gang i paging men det står lidt underligt men det er måske nået med at man skal indsætte <Br> et sted:
<<>> Gå til side 1 skal ihvertfald ned på næste linie.

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 - Æ - Ø - Å<<>> Gå til side 1  Dato Nr Kunstner Track
02-9-2005 21:26:28 27 Gaz West And Phil York Liberta
02-9-2005 21:26:28 26 Groove Coverage Holy Virgin (Vocal Radio Edit)
02-9-2005 21:26:28 25 Groove coverage She (skam mix edit)
<<>> Gå til side 1

Hvordan for jeg så det der med at man er på: side 1 af side 6 vist øverst oppe og Du har valgt kategori: A

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 - Æ - Ø - Å

Side 1 af side 6

Du har valgt kategori: A

og så kommer det der står der nu herunder med
<<->> Gå til side 1
Avatar billede softspot Forsker
04. oktober 2005 - 00:00 #32
<%@ language="vbscript" %>
<%
function reverseOrder(strOrder)
  if lcase(strOrder) = "asc" then
    reverseOrder = "desc"
  else
    reverseOrder = "asc"
  end if
end function

sub pageSelector(intPageCount)
  dim intNum
 
  If Clng(strPage) > 1 Then
    Response.Write "<a href=""?page=" & int(strPage) - 1
    Response.Write "&kategori=" & strKategori
    Response.Write "&sortcol=" & strSortColumn
    Response.Write "&sortorder=" & strSortOrder
    Response.Write """>&lt;&lt;</a>&nbsp;"
  Else
    Response.Write "&lt;&lt;"
  End If

  If Clng(strPage) < Clng(intPageCount) Then
    Response.Write "<a href=""?page=" & int(strPage) + 1
    Response.Write "&kategori=" & strKategori
    Response.Write "&sortcol=" & strSortColumn
    Response.Write "&sortorder=" & strSortOrder
    Response.Write """>&gt;&gt;</a>&nbsp;"
  Else
    Response.Write "&gt;&gt;"
  End If

  Response.Write " Gå til side "
  For intNum = 1 To intPageCount
    Response.Write "<a href=""?page=" & intNum
    Response.Write "&kategori=" & strKategori
    Response.Write "&sortcol=" & strSortColumn
    Response.Write "&sortorder=" & strSortOrder
    Response.Write """>" & intNum & "</a>&nbsp;"
  Next
end sub

strSortColumn = Request.QueryString("sortcol") & ""
strSortOrder = Request.QueryString("sortorder") & ""
strKategori = Request.QueryString("kategori") & ""
strPage = Request.QueryString("page") & ""

' Sæt standardværdier, hvis der mangler informationer
if strSortColumn = "" then
  strSortColumn = "dato"
end if
if strSortOrder = "" then
  strSortOrder = "asc"
end if
if strKategori = "" then
  strKategori = "A"
end if
if strPage = "" then
  strPage = "1"
end if
%>



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
  <head>
    <title>pagingEx1</title>
  </head>
  <body>

<%
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../db/musikhits.mdb")
set conn = Server.CreateObject("ADODB.Connection")
conn.Open strDSN

   
letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"
for i = 1 to len(letters)
  response.write "<a href=""?page=" & strPage & "&kategori=" & mid(letters,i,1)
  if strSortColumn <> "" then
    response.write "&sortcol=" & strSortColumn
  end if
  if strSortOrder <> "" then
    response.write "&sortorder=" & strSortOrder
  end if
  response.write """>" & mid(letters,i,1) & "</a>"

  if i < len(letters) then
    response.write " - "
  end if
next

response.write "<br><br>"

strSQL = "SELECT * FROM dancetrancetop60september2005 WHERE LEFT(kunstner,1) = '" & strKategori &"' ORDER BY " & strSortColumn & " " & strSortOrder

Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open strSQL, Conn, 1
If Not (rs.BOF Or rs.EOF) Then
  rs.PageSize = 10
  rs.AbsolutePage = int(strPage)
  intRecCount = rs.PageSize
  intPageCount = rs.PageCount

  response.write "Side " & strPage & " af " & intPageCount & "<br><br>"
  response.write "Du har valgt kategori: " & strKategori & "<br><br>"

  pageSelector intPageCount

%>
<table>
      <tr>
        <td width="38">
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=dato&sortorder=<%=reverseOrder(strSortOrder)%>">
            Dato</a></td>
        <td width="21">
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=nr&sortorder=<%=reverseOrder(strSortOrder)%>">
            Nr</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=kunstner&sortorder=<%=reverseOrder(strSortOrder)%>">
            Kunstner</a></td>
        <td>
          <a href="?page=<%=strPage%>&kategori=<%=strKategori%>&sortcol=track&sortorder=<%=reverseOrder(strSortOrder)%>">
            Track</a></td>
      </tr>
<%
  do while not rs.EOF and intRecCount > 0
%>
      <tr>
        <td><%=rs("dato")%></td>
        <td><%=rs("nr")%></td>
        <td><%=rs("kunstner")%></td>
        <td><%=rs("track")%></td>
      </tr>
<%
    intRecCount = intRecCount - 1
    rs.Movenext
  Loop
%>
    </table>
<%
  pageSelector intPageCount
End if
rs.close
set rs = nothing
%>
       
  </body>
</html>
Avatar billede larsen45 Juniormester
04. oktober 2005 - 00:16 #33
Super godt arbejde det virker perfekt.
Nu skal jeg så bare fin justere tekst størrelse og tekst type m.v.
Men hvis jeg støder ind i flere problemmer skriver jeg tilbage
i dette indlæg.
Jeg takker ihvertfald mange gange for din meget gode hjælp softspot.
Det havde jeg aldrig selv kunne have fået oppe og stå alt det her.
Du er bare genial....
Avatar billede softspot Forsker
04. oktober 2005 - 00:26 #34
Takker for roserne og velbekomme :)
Avatar billede softspot Forsker
04. oktober 2005 - 00:37 #35
Tak for point :)
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