Ik heb een database met daarin 5000 records. Deze wil ik natuurlijk niet allemaal op 1 pagina laten zien, maar per 25 records verdelen over mijn pagina's.
Het gaat hierbij om een Access database en ik wil dit in een ASP pagina laten uitvoeren.
Ik heb al dagenlang gezocht naar een geschikt script, maar kan niet vinden wat ik zoek.
Wat ik namelijk wil is de 1 record over meerderije rijen in een tabel verdelen. De scripts die ik tot nu heb gevonden zetten namelijk alle opgevraagde kolomen in 1 rij van de tabel. Hier kun je verder niets aan veranderen. Je kunt ook niet individueel wat meegeven aan een bepalade waarde. Bijv. een link voor meer detail info.
Kan iemand mij helpen met een script waarmee ik dit wel kan oplossen? Ik ben de wanhoop nabij.
Als voorbeeld het onderstaande script waarbij de records dus wel netjes verdeeld worden, maar waarbij ik bovenstaande niet kan toepassen.
---------------------------------------------------------------------
<!-- #include file="adovbs.inc" -->
<html>
<head>
<title>Madness.nl | Database Paging</title>
</head><body>
<%
' Declareren van de variabelen
Dim strCon
Dim objCon
Dim accessDB
Dim aantalRecords
Dim aantalPaginas
Dim huidigePagina
Dim strSQL
Dim objRec
Dim recordsGetoond
Dim I
' Zet de connectiestring in de variabele. Hier is dit dus een ODBC connectie.
accessDB = server.mappath("voorraad bewerkbaar.mdb")
strCon = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="
strCon = strCon & accessDB & ";"
' Hoeveel records worden er per keer getoond.
' Dit zou een gebruiker ook kunnen opgeven en met
'request.form("aantalRecords") opgevraagd kunnen worden.
aantalRecords = 2
' De pagina die getoond moet worden.
if Request.QueryString("pagina") = "" Then
huidigePagina = 1
Else
huidigePagina = CInt(Request.QueryString("pagina"))
End if
' Maak een serverobject aan voor de connectie (ObjectConnectie -> objCon)
Set objCon = Server.CreateObject("ADODB.Connection")
' Maak een recordsetobject aan.
Set objRec = Server.CreateObject("ADODB.Recordset")
' Open de verbinding met de database. Voor objCon wordt er een
' verbinding geopend met opgegeven database.
objCon.Open strCon
' De SQL query om de gegevens uit de database te halen.
SQL = "SELECT * FROM voorraad"
' Plaats de gegevens van de SQL Query in de recordset objRec.
' Geef de juiste constante uit adovbs.inc mee.
objRec.Open SQL, strCon, adOpenStatic, adLockReadOnly, adCmdText
' Zet het aantal records in Pagesize
objRec.PageSize = aantalRecords
' Zet het aantal records in cachesize
objRec.CacheSize = aantalRecords
' Tel het aantal pagina's
aantalPaginas = objRec.PageCount
' zorg ervoor dat de huidige pagina niet buiten het aantal pagina's valt.
if huidigePagina > aantalPaginas Then
huidigePagina = aantalPaginas
End if
if huidigePagina < 1 Then
huidigePagina = 1
End if
' Wanneer er geen records zijn geef een melding.
if aantalPaginas = 0 Then
Response.Write "Er zijn geen records gevonden"
Else
' Ga naar de juiste pagina
objRec.AbsolutePage = huidigePagina
%>
<p>
<font size="+1">Pagina <%= huidigePagina %> van <%= aantalPaginas %></font>
</p>
<%
' Een spatie
Response.Write vbCrLf
' Maak een tabel
Response.Write "<table border=""1"" cellpadding=""0"" cellspacing=""0"" bordercolor=""#111111"" width=""650"" height=""84"">" & vbCrLf
' Toon de records.
recordsGetoond = 0
Do While recordsGetoond < aantalRecords And Not objRec.EOF
Response.Write "<tr>" & vbCrLf
For I = 0 To objRec.Fields.Count - 1
Response.Write "<td width=""100"" bgcolor=""#A3BAD9"" bordercolor=""#A3BAD9"" valign=""top""><font face=""Verdana"" size=""2"">"
Response.Write objRec.Fields(I)
Response.Write "</td>" & vbCrLf
Next
Response.Write "</tr>" & vbCrLf
' Verhoog het aantal records dat getoond is
recordsGetoond = recordsGetoond + 1
' Volgende record.
objRec.MoveNext
Loop
' Sluit de tabel
Response.Write "</table>" & vbCrLf
End if
' Alles afsluiten
objRec.Close
Set objRec = Nothing
objCon.Close
Set objCon = Nothing
'Maken van de volgende en vorige knoppen.
' Maak de [< Vorige] knop
if huidigePagina > 1 Then
%>
[< Vorige]
<%
End if
' Maak de [Volgende >] knop
if huidigePagina < aantalPaginas Then
%>
[Volgende >]
<%
End if
%>
</body>
</html>
-----------------------------------------------------------------------
Het gaat hierbij om een Access database en ik wil dit in een ASP pagina laten uitvoeren.
Ik heb al dagenlang gezocht naar een geschikt script, maar kan niet vinden wat ik zoek.
Wat ik namelijk wil is de 1 record over meerderije rijen in een tabel verdelen. De scripts die ik tot nu heb gevonden zetten namelijk alle opgevraagde kolomen in 1 rij van de tabel. Hier kun je verder niets aan veranderen. Je kunt ook niet individueel wat meegeven aan een bepalade waarde. Bijv. een link voor meer detail info.
Kan iemand mij helpen met een script waarmee ik dit wel kan oplossen? Ik ben de wanhoop nabij.
Als voorbeeld het onderstaande script waarbij de records dus wel netjes verdeeld worden, maar waarbij ik bovenstaande niet kan toepassen.
---------------------------------------------------------------------
<!-- #include file="adovbs.inc" -->
<html>
<head>
<title>Madness.nl | Database Paging</title>
</head><body>
<%
' Declareren van de variabelen
Dim strCon
Dim objCon
Dim accessDB
Dim aantalRecords
Dim aantalPaginas
Dim huidigePagina
Dim strSQL
Dim objRec
Dim recordsGetoond
Dim I
' Zet de connectiestring in de variabele. Hier is dit dus een ODBC connectie.
accessDB = server.mappath("voorraad bewerkbaar.mdb")
strCon = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="
strCon = strCon & accessDB & ";"
' Hoeveel records worden er per keer getoond.
' Dit zou een gebruiker ook kunnen opgeven en met
'request.form("aantalRecords") opgevraagd kunnen worden.
aantalRecords = 2
' De pagina die getoond moet worden.
if Request.QueryString("pagina") = "" Then
huidigePagina = 1
Else
huidigePagina = CInt(Request.QueryString("pagina"))
End if
' Maak een serverobject aan voor de connectie (ObjectConnectie -> objCon)
Set objCon = Server.CreateObject("ADODB.Connection")
' Maak een recordsetobject aan.
Set objRec = Server.CreateObject("ADODB.Recordset")
' Open de verbinding met de database. Voor objCon wordt er een
' verbinding geopend met opgegeven database.
objCon.Open strCon
' De SQL query om de gegevens uit de database te halen.
SQL = "SELECT * FROM voorraad"
' Plaats de gegevens van de SQL Query in de recordset objRec.
' Geef de juiste constante uit adovbs.inc mee.
objRec.Open SQL, strCon, adOpenStatic, adLockReadOnly, adCmdText
' Zet het aantal records in Pagesize
objRec.PageSize = aantalRecords
' Zet het aantal records in cachesize
objRec.CacheSize = aantalRecords
' Tel het aantal pagina's
aantalPaginas = objRec.PageCount
' zorg ervoor dat de huidige pagina niet buiten het aantal pagina's valt.
if huidigePagina > aantalPaginas Then
huidigePagina = aantalPaginas
End if
if huidigePagina < 1 Then
huidigePagina = 1
End if
' Wanneer er geen records zijn geef een melding.
if aantalPaginas = 0 Then
Response.Write "Er zijn geen records gevonden"
Else
' Ga naar de juiste pagina
objRec.AbsolutePage = huidigePagina
%>
<p>
<font size="+1">Pagina <%= huidigePagina %> van <%= aantalPaginas %></font>
</p>
<%
' Een spatie
Response.Write vbCrLf
' Maak een tabel
Response.Write "<table border=""1"" cellpadding=""0"" cellspacing=""0"" bordercolor=""#111111"" width=""650"" height=""84"">" & vbCrLf
' Toon de records.
recordsGetoond = 0
Do While recordsGetoond < aantalRecords And Not objRec.EOF
Response.Write "<tr>" & vbCrLf
For I = 0 To objRec.Fields.Count - 1
Response.Write "<td width=""100"" bgcolor=""#A3BAD9"" bordercolor=""#A3BAD9"" valign=""top""><font face=""Verdana"" size=""2"">"
Response.Write objRec.Fields(I)
Response.Write "</td>" & vbCrLf
Next
Response.Write "</tr>" & vbCrLf
' Verhoog het aantal records dat getoond is
recordsGetoond = recordsGetoond + 1
' Volgende record.
objRec.MoveNext
Loop
' Sluit de tabel
Response.Write "</table>" & vbCrLf
End if
' Alles afsluiten
objRec.Close
Set objRec = Nothing
objCon.Close
Set objCon = Nothing
'Maken van de volgende en vorige knoppen.
' Maak de [< Vorige] knop
if huidigePagina > 1 Then
%>
[< Vorige]
<%
End if
' Maak de [Volgende >] knop
if huidigePagina < aantalPaginas Then
%>
[Volgende >]
<%
End if
%>
</body>
</html>
-----------------------------------------------------------------------