anoniem Geplaatst: 22 mei 2002 Auteur Delen Geplaatst: 22 mei 2002 [quote:9edacc9777="Wiep Corbier"]Heb jij een voorbeeldje waar jouw idee verwerkt is? Kijk nou eens naar mijn voorbeeld....[/quote:9edacc9777]Voorbeeldjes zijn er genoeg te vinden op internet (ook voor de php/mysql paging met LIMIT), kijk maar eens op een gemiddelde tutorial site. Maar je kan er van uitgaan dat de methode die Bill noemt gewoon werkt. Overigens ben ik het met Bill eens dat de LIMIT methode prettig werkt. Voor andere databases zijn overigens ook vaak eigen methoden te ontwikkelen die deze functionaliteit simuleren (bijvoorbeeld in een stored proc). Quote Link naar reactie
anoniem Geplaatst: 22 mei 2002 Auteur Delen Geplaatst: 22 mei 2002 Ben ik nu gek of zag ik hier net een reactie van Annie en nu is ie weg? /me heeft slaap nodig.... veeeeeel slaap... [edit]Nah ja, nu weer wel??? Ik word echt gek van dit forum ;)[/edit] Quote Link naar reactie
anoniem Geplaatst: 22 mei 2002 Auteur Delen Geplaatst: 22 mei 2002 Beste Annie, ik hou me niet bezig met PhP/MySql. En ik zeg ook niet dat zijn methode niet werkt. Ik zeg alleen dat "mijn" methode toch uiterst gemakkelijk is. De 'zijne' lijkt mij nogal wat programmeerwerk. Je hebt in PhP/MySql toch ook een RecordSet met eigenschappen? Quote Link naar reactie
anoniem Geplaatst: 22 mei 2002 Auteur Delen Geplaatst: 22 mei 2002 [b:3f46f15bd8]Bill:[/b:3f46f15bd8] ga dan slapen, gek ;) [b:3f46f15bd8]Wiep:[/b:3f46f15bd8] in php heb je geen recordset object met properties (tenzij je een of andere db-layer gebruikt). Maar met MySQL kan je wel gebruik maken van de sql uitbreiding LIMIT. M.a.w. je hoeft alleen een query uit te voeren en de recordset te tonen (deze recordset bevat dan [color=brown:3f46f15bd8]alleen[/color:3f46f15bd8] de records die je wil tonen), dus zoveel werk is het niet. Om de pagina's te tonen heb je dan alleen nog het totaal aantal records nodig (select count(*) from tabel). Even snel een klein simpel voorbeeldje (fouten voorbehouden, het gaat meer om het idee dan om het leveren van een foutloos voorbeeld; ik moet namelijk ook gaan slapen ;)): [code:1:3f46f15bd8] // eigenschappen van pagina $result = mysql_query("select count(*) from tabel"); $numrows = mysql_result($result, 0); $pagesize = 10; $numpages = ceil($numrows/$pagesize); $page = $_GET["pg"]; if ($page == "") $page = 1; $offset = $page * $pagesize; // tonen records $result = mysql_query("select * from tabel limit $offset, $pagesize"); while ($row = mysql_fetch_array($result)) { echo $row[0], "<br />"; } // pagina nummers for ($i=1; $i<=$numpages; $i++) { echo "linkje naar pagina $i"; } [/code:1:3f46f15bd8] Quote Link naar reactie
anoniem Geplaatst: 23 mei 2002 Auteur Delen Geplaatst: 23 mei 2002 JohanT Ik heb zelf iets soortgelijks enkele dagen geleden gemaakt en het werkt fantastisch :P !! Op de volgende site is alles duidelijk uitgelegd. [url]http://www.aspnl.com/aspnl/nl/lessen/aspdb/aspdbpagedgetrows.asp[/url] Succes. JohanW Quote Link naar reactie
anoniem Geplaatst: 24 mei 2002 Auteur Delen Geplaatst: 24 mei 2002 hey, ik heb ff die site van hierboven bekeken, en inderdaad goede uitleg. Maar toch nog net niet genoeg dat ik het werkend krijg, ik krijg de volgende foutmelding: - Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified - en het zit in LINE 40, ik zal mijn code even geven hieronder.. [code:1:ef007cca4e] <% Option Explicit 'Declareer constante(s) Const RecordsPerPagina = 10 'Declareer variabele(n) Dim objConn Dim objRs Dim sConnection Dim arrRs Dim strSQL Dim strPagina Dim lngVelden Dim lngRecords Dim lngAantalRecords Dim lngAantalPaginas Dim lngPagina Dim lngStart Dim i, j 'SQL statement strSQL = "Select * FROM gastenboek ORDER BY datum DESC" 'Haal huidige pagina uit QueryString en bereken startpunt strPagina = Request.QueryString("pag") If IsNumeric(strPagina) And strPagina <> "" Then lngPagina = CLng(strPagina) Else lngPagina = 1 End If lngStart = RecordsPerPagina * (lngPagina - 1) + 1 'Open database Set objConn = Server.CreateObject("ADODB.Connection") sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Server.MapPath("\remco292\db\kiona.mdb") & ";" & _ "Persist Security Info=False" objConn.Open Application("sConnection") 'Open recordset Set objRs = Server.CreateObject("ADODB.Recordset") objRs.Open strSQL, objConn, adOpenStatic, adLockReadOnly 'Vraag totaal aantal records op lngAantalRecords = objRs.RecordCount If lngAantalRecords >= lngStart Then 'Zet startpositie objRs.AbsolutePosition = lngStart 'Zet records in array en tel de velden en records arrRs = objRs.GetRows(RecordsPerPagina, adBookmarkCurrent) lngVelden = UBound(arrRs) lngRecords = UBound(arrRs, 2) ElseIf lngAantalRecords > 0 Then lngRecords = -2 Else lngRecords = -1 End If 'Sluit Recordset objRs.Close Set objRs = Nothing 'Sluit database objConn.Close Set objConn = Nothing %> <HTML> <BODY> <TABLE BORDER="1"> <% 'Bereken aantal pagina's lngAantalPaginas = lngAantalRecords \ RecordsPerPagina If lngAantalRecords Mod RecordsPerPagina > 0 Then lngAantalPaginas = lngAantalPaginas + 1 End If Select Case lngRecords Case -1 Response.Write "Er zijn geen records om weer te geven" Case -2 Response.Write "De opgevraagde pagina bestaat niet" Case Else 'Verwijzing naar vorige pagina weergeven If lngPagina > 1 Then Response.Write "<a href=""pagedgetrows.asp?pag=" & lngPagina - 1 & """>" Response.Write "<< terug</a> " End If 'Aantal pagina's weergeven Response.Write "pagina " & lngPagina & " van " & lngAantalPaginas 'Verwijzing naar volgende pagina weergeven If lngPagina < lngAantalPaginas Then Response.Write " <a href=""pagedgetrows.asp?pag=" & lngPagina + 1 & """>" Response.Write "verder >></a>" End If 'Laat tabel met waardes zien For i = 0 To lngRecords Response.Write "<TR>" For j = 0 To lngVelden Response.Write "<TD>" & arrRs(j, i) & "</TD>" Next Response.Write "</TR>" Next End Select %> [/code:1:ef007cca4e] Kan iemand zien wat ik fout doe? Bedankt.. Quote Link naar reactie
anoniem Geplaatst: 24 mei 2002 Auteur Delen Geplaatst: 24 mei 2002 Waar haal je Application vandaan? Gebruik dit maar: [code:1:6632a82343]db = "E:\Back-up klanten\JI\ji.mdb" Set conn = Server.CreateObject( "ADODB.Connection" ) conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db & ";" [/code:1:6632a82343] Wel even de directory aanpassen weet je wat je het beste kunt doen? De databaseconnection in een include-file zetten als ie goed is. Kun je daar geen fouten in maken. Quote Link naar reactie
anoniem Geplaatst: 24 mei 2002 Auteur Delen Geplaatst: 24 mei 2002 hey, oke die fout is er nu uit, maar nu krijg ik dus de meling, geen records om weer te geven. Hoe kan dat dan nou weer!? Quote Link naar reactie
anoniem Geplaatst: 24 mei 2002 Auteur Delen Geplaatst: 24 mei 2002 Waarom neem je nou niet gewoon mijn voorbeeld over, dan heb je geen foutmelding. Quote Link naar reactie
anoniem Geplaatst: 24 mei 2002 Auteur Delen Geplaatst: 24 mei 2002 Welk voorbeeld? Dat in het begin staat? Ik snap deze nu net aardig, maar die snap ik nog niet. Kijk ik ben dus bezig met een gastenboek, dat was wel duidelijk. Nu heb ik een access database met daarin de tabel 'gastenboek' daaruit moeten gehaald worden de velden: - datum - tijd - bericht Hoe verwerk ik dat dan in jouw voorbeeld? Als ik het een keer compleet en goed zie kan ik het zelf een keer uitpuzzelen en dan snap ik het wel. Quote Link naar reactie
anoniem Geplaatst: 24 mei 2002 Auteur Delen Geplaatst: 24 mei 2002 oké, heb je het bestand "adovbs" ?? Ik zal mijn voorbeeld aanpassen aan jouw gegevens. je moet zelf even je databaseconnection in dit voorbeeld plaatsen [code:1:be90304e1a] <!-- #INCLUDE FILE="adovbs.inc" --> <html> <head> <meta http-equiv="Content-Language" content="nl"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>TopicLijst </title> </head> <body bgcolor="#FFFFFF"> <center> <% 'Get the Current page pg = TRIM(Request( "pg" )) IF pg = "" then pg = 1 Set RS = Server.CreateObject( "ADODB.RecordSet" ) RS.CursorType = adOpenStatic RS.ActiveConnection = Con RS.PageSize = 8 RS.Open = "SELECT * FROM gastenboek ORDER BY Datum DESC" RS.AbsolutePage = pg %> <center> <p align="left"><i><b><font face="Saved By Zero" size="7" color="#FFB0B0"> </font></b></i><b><font color="#77BBFF" size="5"> </font><font color="#0000FF" size="5">Prikbordberichtjes </font></b><i><b> <font face="Saved By Zero" size="5" color="#FFB0B0"> </font></b></i> <font face="Verdana" color="#FF0000" size="1"><b> <span style="background-color: #FFFFFF">hoofdpagina - prikbord</span></b></font><i><b><font face="Saved By Zero" size="5" color="#FFB0B0"> J</font></b></i><font face="Saved By Zero" size="5" color="#DCDCDC">ob</font><b><i><font face="Saved By Zero" size="5" color="#FFB0B0">I</font></i></b><font face="Saved By Zero" size="5" color="#DCDCDC">ntermediair...</font></p> <table width="90%" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="20%" style="font-family:Arial Narrow; color:#000080"> <p align="right"> <font size="2"><b><a href="AddTopic.asp"><font color="#008080"> <span style="background-color: #FFFFFF">Nieuw bericht toevoegen</span></font></a></b></font></td> </tr> </table> <table width="90%" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: Tahoma; font-size: 8 pt; letter-spacing: 1pt" bordercolor="#111111" width="100%"> <tr><td width="65%"><font size="1" face="MS Sans Serif"> Onderwerp</font></td> <td width="25%"><font size="1" face="MS Sans Serif">Starter</a></font></td> <td width="10%"><font size="1" face="MS Sans Serif">Reacties</a></font></td> </tr> </table> <table width="90%" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: Tahoma; font-size: 8 pt; letter-spacing: 1pt" bordercolor="#111111" width="100%"> <tr><td width="100%" style="font-family: Tahoma; font-size: 8 pt; color: #0000FF"> <hr color="#000080"></td> </tr> </table> <% WHILE NOT RS.EOF AND rowCount < RS.PageSize rowCount = rowCount + 1 %> <table width="90%" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: Tahoma; font-size: 8 pt; letter-spacing: 1pt" bordercolor="#111111" width="100%"> <tr><td width="65%" style="font-family: Tahoma; font-size: 8 pt; color: #0000FF"><%=RS("Datum")%></b></a></td> <td width="25%" style="font-family: Tahoma; font-size: 8 pt; color: #0000FF"><%=RS("Tijd")%> </td> <td width="10%" style="font-family: Tahoma; font-size: 8 pt; color: #0000FF"><%=RS("Bericht")%> </td> </tr> </table> <% RS.MoveNext WEND IF RS.PageCount > 1 THEN %> <font color="darkblue"> <b>Ga naar pagina: </b> <% FOR i = 1 to RS.PageCount IF i <> cINT( pg ) THEN %> <a href="TopicLijst.asp?pg=<%=i%>"><font color="blue"><%=i%></font></a> <% ELSE %> <b><%=i%></b> <% END IF NEXT %> </font> <% END IF 'Alles sluiten RS.Close Set RS = Nothing Con.Close Set Con = Nothing %> <p align="center"><a href="mailto:wcorbier@home.nl"><font color="#000000">Mail de sitemaster</font></a></p> <table> <tr> <td width="336" bgcolor="#FFFF80"> <p align="center"><font size="1" color="#800000" face="Tahoma">De sitemaster houdt het recht zonder opgaaf van reden een bericht te weigeren of te verwijderen</font></td> </tr> </div> </center> </table> </font> </body> </html> [/code:1:be90304e1a] Quote Link naar reactie
anoniem Geplaatst: 24 mei 2002 Auteur Delen Geplaatst: 24 mei 2002 je hoeft aan het voorbeeld niets meer te doen. Je tabelnaam en velden heb ik al gebruikt. je kunt het zo overnemen. Quote Link naar reactie
anoniem Geplaatst: 24 mei 2002 Auteur Delen Geplaatst: 24 mei 2002 hey dat adovbs bestand, is dat hetzelfde als een global.inc bestand? kun je anders misschien daarvan ook nog effe de inhoud geven?! haha, ik ben lastig maar dan is het eindelijk compleet!! ik ben je wel dankbaar, eindelijk zal het eens gaan lukken.. Quote Link naar reactie
anoniem Geplaatst: 24 mei 2002 Auteur Delen Geplaatst: 24 mei 2002 Neen, dat is compleet iets anders. Hier staan namelijk eigenschappen van recordsets in. Ik mail het je toe, en zet het dan in de map waarin je asp.pagina's staan. Quote Link naar reactie
anoniem Geplaatst: 24 mei 2002 Auteur Delen Geplaatst: 24 mei 2002 hey bedankt voor je mail, Nu hoef ik alleen nog de database connectie aan te brengen he in je voorbeeld? Quote Link naar reactie
anoniem Geplaatst: 24 mei 2002 Auteur Delen Geplaatst: 24 mei 2002 [quote:db79879f91="Remco292"]oke bedankt, heb je mijn e-mail adres?[/quote:db79879f91]Staat toch in je profile? ;) Quote Link naar reactie
anoniem Geplaatst: 24 mei 2002 Auteur Delen Geplaatst: 24 mei 2002 correct, even de databaseconnectie erbij/erin plaatsen Quote Link naar reactie
anoniem Geplaatst: 24 mei 2002 Auteur Delen Geplaatst: 24 mei 2002 :D en mag ik vragen waar? [code:1:162b3641a5] Set objConn = Server.CreateObject("ADODB.Connection") objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Server.MapPath("\remco292\db\kiona.mdb") & ";" & _ "Persist Security Info=False" objConn.Open [/code:1:162b3641a5] dit gebruikte ik bij die vorige, kan die er dan nu weer in? Quote Link naar reactie
anoniem Geplaatst: 24 mei 2002 Auteur Delen Geplaatst: 24 mei 2002 oke, laatste vraag, als het nu niet lukt, lukt het nooit meer, maar waar moet ik dat neer zetten in je code?! Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen