12. april 2003 - 09:41Der er
19 kommentarer og 1 løsning
lave side opdeling
hejsa! :-)
Jeg har siddet og prøvet lave lidt på mit script så den automatisk laver en ny side hver gang den er nået til 30 titler. før jeg smider min kode ind som sådan som jeg prøvede den vil jeg gerne helst vente til i har prøvet for ikke at forvirre jer... jeg har nemlig forvirret mig selv godt og grundigt med de forskellige forsøg:o) Men hvis i heller ikke kan vil jeg prøve at vise jer min code så kan de være i kan rette den til.
Her er den kode som der skal tilføjes side opdelingskoden til.
--------------------------
<% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb") str_sql2 = "SELECT * FROM downloads WHERE godkendt=(1) " If Request("alfa") > "" Then str_sql2 = str_sql2 & " AND instr('" & LCase(Request("alfa")) & "',lcase(left(title,1)))>0" Set rs = Conn.Execute (str_sql2) %> <div align="center"> <% if rs.EOF then %> <span class="overskrift"><font color="#FF0000" size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Tomt!</b></font> </span> <% else %>
<table width="88%" height="24" cellspacing="2"> <tr bgcolor="Black"> <td width="42%"><font face=tahoma size=2 color="#FFFFFF"><b>Titel</b></font></td> </tr> <% Do Until rs.EOF %> <tr> <td width="42%"><font face=tahoma size=2> <% = rs("title") %> </font></td> </tr> <% rs.MoveNext Loop %> <p></p> </table> </div> <% end if rs.Close Conn.Close Set rs = Nothing Set Conn = Nothing %>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Her kommer din kode sat ind i paging eksemplet. Jeg har af gode grunde ikke testet koden: <html><head> <title>Paging af et recordset</title> </head><body>
<% intPage = Request("page") If isNumeric(intPage) = False Or intPage < 1 Then intPage = 1 End If
Set rs = Server.CreateObject("ADODB.RecordSet") strSQL = "SELECT * FROM downloads WHERE godkendt='1'" strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("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 "<p><b>Side " & intPage & " af " & intPageCount & "</b></p>" %> <table width="88%" height="24" cellspacing="2"> <tr bgcolor="Black"> <td width="42%"><font face=tahoma size=2 color="#FFFFFF"><b>Titel</b></font></td> </tr> <% Do While Not rs.EOF And intRecCount > 0 %> <tr> <td width="42%"><font face=tahoma size=2> <% = rs("title") %> </font></td> </tr>
<% intRecCount = intRecCount - 1 rs.MoveNext Loop %> </table> <% Else %> <span class="overskrift"><font color="#FF0000" size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Tomt!</b></font> </span> <% End If rs.Close Set rs = Nothing
Response.Write "<p>Gå til side " For intNum = 1 To intPageCount Response.Write "<a href=paging.asp?page=" & intNum & ">" & intNum & "</a> " Next
Response.Write "<p>" If Clng(intPage) > 1 Then Response.Write "<a href=paging.asp?page=" & intPage - 1 & "><<</a>" Else Response.Write "<<" End If
Response.Write " "
If Clng(intPage) < Clng(intPageCount) Then Response.Write "<a href=paging.asp?page=" & intPage + 1 & ">>></a> " Else Response.Write ">>" End If %>
<% 'Åbning af databasen Set conn = Server.CreateObject("ADODB.Connection") DBPath = "DBQ=" & server.mappath("stien til din database") conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
' Tæller antallet af recordsæt SQL = "select count(*) as antal from tabel" set count = conn.Execute(SQL)
' Åbner til udskrift SQL = "select * from tabel" set d = conn.Execute(SQL)
opdel = request.querystring("opdel") if opdel = "" then opdel = 1 recordnr = count("antal") maxdel = int(recordnr/31)+1 if maxdel = 0 Then maxdel = 1
if d.bof or d.eof response.write "Der blev ikke fundet noget i databasen" else
if opdel > 1 then response.write "<a href='?opdel=" & opdel-1 & "'>Forrige side</a>" else response.write "Forrige" response.write " Side: " & opdel & " af " & maxdel & " sider " if opdel < int(maxdel) then response.write "<a href='?opdel=" & opdel+1 & "'>Næste side</a>" else response.write "Næste"
d.movefirst Do while not d.eof If Recordnr >= opdel*30-29 and Recordnr <= opdel*30 Then response.write d("navnpåetellerandet") & "<br>" end if Recordnr = Recordnr +1 d.movenext Loop
if opdel > 1 then response.write "<a href='?opdel=" & opdel-1 & "'>Forrige side</a>" else response.write "Forrige" response.write " Side: " & opdel & " af " & maxdel & " sider " if opdel < int(maxdel) then response.write "<a href='?opdel=" & opdel+1 & "'>Næste side</a>" else response.write "Næste"
så ryger lidt af pointen med paging! Hvis du har en tabel med 3 millioner records så kan det godt være lidt træls med de svartider man får ud af det! Den henter alt vær gang! ;)
det var mig der ikke er vant til at skrive til access: strSQL = "SELECT * FROM downloads WHERE godkendt='1'" skal se således ud: strSQL = "SELECT * FROM downloads WHERE godkendt=1"
det virker lidt:) dvs. men den skulle gerne kun lave side tal for katogori "A" hvis man vælger den katogori... eller for "B" nu tager den alle links i databasen..
jeg kan se du har taget denne del ud
If Request("alfa") > "" Then str_sql2 = str_sql2 & " AND instr('" & LCase(Request("alfa")) & "',lcase(left(title,1)))>0"
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.