anoniem Geplaatst: 27 december 2001 Delen Geplaatst: 27 december 2001 Uit een Access2000 database wil ik dmv ASP records presenteren op een webpagina.Er staan x records in de database. Nu wil ik maximaal 10 records per pagina presenteren, hoe doe ik dat? Quote Link naar reactie
anoniem Geplaatst: 27 december 2001 Auteur Delen Geplaatst: 27 december 2001 Een voorbeedje: [code:1:11310165dd] <P><BLOCKQUOTE><font size="1" face="Arial, Helvetica, Sans Serif">code:</font><HR><pre> <% ' Get the Current Page pg = TRIM( Request( "pg" ) ) IF pg = "" THEN pg = 1<P>' Open the Recordset Set prodRS = Server.CreateObject( "ADODB.Recordset" ) prodRS.ActiveConnection = Con prodRS.CursorType = adOpenStatic prodRS.PageSize = 5 sqlString = "SELECT product_id, product_picture, product_name, product_briefDesc " &_ "FROM Products WHERE product_category='" & cat & "' " &_ "AND product_status=1 " &_ "ORDER BY product_name " prodRS.Open sqlString prodRS.AbsolutePage = pg %> <table width="350" border=0 cellpadding=5 cellspacing=0> <% WHILE NOT prodRS.EOF AND rowCount < prodRS.PageSize rowCount = rowCount + 1 %> <tr> <td> <% IF prodRS( "product_picture" ) <> "?????" THEN %> <IMG SRC="<%=prodRS( "product_picture" )%>" HSPACE=4 VSPACE=4 BORDER=0 align="center"> <% END IF %> </td> <td> <a href="product.asp?pid=<%=prodRS( "product_id" )%>"> <b><%=prodRS( "product_name" )%></b></a> <br><%=prodRS( "product_briefDesc" )%> <br><a href="product.asp?pid=<%=prodRS( "product_id" )%>"> get more information</a> </td> </tr> <tr> <td colspan=2 align="center"> </td> </tr> <% prodRS.MoveNext WEND %> </table> <% IF prodRS.PageCount > 1 THEN %> <font color="darkgreen"> <b>Go to page: </b> <% FOR i = 1 to prodRS.PageCount IF i <> cINT( pg ) THEN %> <a href="default.asp?cat=<%=cat%>&pg=<%=i%>"> <%=i%></a> <% ELSE %> <b><%=i%></b> <% END IF %> <% NEXT %> </font> <% END IF %> </pre><HR></BLOCKQUOTE><P>[/code:1:11310165dd][/code] Quote Link naar reactie
anoniem Geplaatst: 27 december 2001 Auteur Delen Geplaatst: 27 december 2001 Hmmm, ik keek even vluchtig, maar volgens mij haal je nu alle items uit de database (die wel aan een bepaalde voorwaarde voldoen natuurlijk) en loopt daar dan doorheen tot je bij de 10 items bent. Toch?Dat moet beter kunnen... Met MySQL kan je LIMIT 10 gebruiken, maar dat is geen standaard SQL (maar wel verekt handig :smile:) en werkt niet in Access.------------------ Bill Gates: Scharrel een ouwe doos op, en zet er Linux op :) Chiquita71: tja...hahahah om nu linux op mezelf te zetten vindt ik wat ver gaan. Quote Link naar reactie
anoniem Geplaatst: 27 december 2001 Auteur Delen Geplaatst: 27 december 2001 Er worden 5 producten per pagina weergegeven.Het object Recordset heeft 3 eigenschappen: AbsolutePage; specificeert of leest de huidige recordpagina PageCount geeft het aantal pagina's in een recordset terug PageSize specificeert of leest het aantal records in een enkele pagina.(standaard is 10)In regel 10 wordt het aantal records ingesteld (5)in regel 16 wordt de huidige pagina ingesteld.Als je die instelt op 2 heeft het eerste record op de tweede pagina recordnummer 6 Dus 1 t/m 5, 6 t/m 10 in regel 21 t/m 46 worden de records weergegeven en in regel 21 wordt dus aangegeven dat het er 5 per pagina zijn.(zie regel 10) Quote Link naar reactie
anoniem Geplaatst: 28 december 2001 Auteur Delen Geplaatst: 28 december 2001 Ik kom er niet uit, onderstaand is de code waarop ik het wil toepassen.---------- <% ' Create the instance of Connection Object and then ' open the database Set con = Server.CreateObject("ADODB.Connection") con.Open "DSN-naam"' Our SQL statements sql = "SELECT * FROM vrijwilligers ORDER BY naam" set Rs = con.Execute(sql) ' Weergeven gegevens WHILE NOT Rs.EOF %> <% Response.Write(Rs("naam"))%><br><% Rs.moveNext() WEND %> <% ' Done. Disconnecting and setting Connection Object to Nothing Set rs = nothing con.Close Set con = Nothing %> Quote Link naar reactie
anoniem Geplaatst: 29 december 2001 Auteur Delen Geplaatst: 29 december 2001 Beste Johant, Ik heb dit gedeelte uit een voorbeeldenboek, maar ik denk dat ik het binnenkort ook op mijn ASP-site ga toepassen.Als ik zover ben en het werkt perfecto, kom ik er op terug. Wellicht stuur ik je een e-mailtje ofzo. Ik zie wel ff. Maar het gaat werken, ook die van jou, reken daar maar op. Quote Link naar reactie
anoniem Geplaatst: 21 mei 2002 Auteur Delen Geplaatst: 21 mei 2002 Mag ik eens vragen of je hem al werkend hebt? Ik ben ook op zoek naar zoiets..bedankt Quote Link naar reactie
anoniem Geplaatst: 21 mei 2002 Auteur Delen Geplaatst: 21 mei 2002 Als je even zoekt op internet op "recordset paging" dan vind je tig voorbeelden van hoe je het kan aanpakken. Er zijn meerdere mogelijkheden namelijk die allemaal zo hun voor en nadelen hebben (en ook nog per database kunnen verschillen). Quote Link naar reactie
anoniem Geplaatst: 22 mei 2002 Auteur Delen Geplaatst: 22 mei 2002 Ja, ik heb er toevallig gisteren pas werk van gemaakt en het werkt perfect. Hieronder maar even de gehele code voor de pagina... [code:1:99077ce807] <!-- #INCLUDE FILE="adovbs.inc" --> <!-- #INCLUDE FILE="prikbordmdb.asp" --> <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 Topic ORDER BY DatumReactie 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"> <a href="Topics.asp?TopicID=<%=RS("TopicID")%>"><b><%=RS("Onderwerp")%></b></a></td> <td width="25%" style="font-family: Tahoma; font-size: 8 pt; color: #0000FF"><%=RS("Starter")%> </td> <td width="10%" style="font-family: Tahoma; font-size: 8 pt; color: #0000FF"><%=RS("Aantalreacties")%> </td> </tr> <tr> <td width="60%" style="font-family: Tahoma; font-size: 8 pt; color: #0000FF"><%=RS("DatumReactie")%></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="#77BBFF"></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:99077ce807] Voor de uitvoering kijk op www.jobintermediair.nl Daar aangekomen klik in menu op "prikbord". Suc6 Quote Link naar reactie
anoniem Geplaatst: 22 mei 2002 Auteur Delen Geplaatst: 22 mei 2002 Bill Gates: Zoals mySQL limit 10 kent.. Access kan wel top 10. Dan krijg je de eerst 10 records.. b.v. SELECT TOP 10 * FROM tblTabel dan krijg je de eerste 10 records.. Dit is trouwnes niet errug nuttig voor paging. :wink: Quote Link naar reactie
anoniem Geplaatst: 22 mei 2002 Auteur Delen Geplaatst: 22 mei 2002 Leuk Bill, maar het gaat dus om de drie eigenschappen van het object RecordSet. * AbsolutePage * PageCount * PageSize Quote Link naar reactie
anoniem Geplaatst: 22 mei 2002 Auteur Delen Geplaatst: 22 mei 2002 [quote:d0977fa050="Wiep Corbier"]Leuk Bill, maar het gaat dus om de drie eigenschappen van het object RecordSet.[/quote:d0977fa050]Ja leuk ;) 1) Dit topic is een eeuw oud. 2) Ik heb alleen gezegd dat het met MySQL (en met andere databases ook trouwens) met LIMIT kan, maar dat je daar geen zak aan hebt omdat er Access gebruikt werd. 3) Wat is nu je probleem? Quote Link naar reactie
anoniem Geplaatst: 22 mei 2002 Auteur Delen Geplaatst: 22 mei 2002 1. klopt, is oud 2. Je hebt de vraag niet goed gelezen. (je beantwoord namelijk alleen de vraag hoe je de eerste 10 records krijgt, maar niet 10 records per pagina. 3. geen probleem hoor. Quote Link naar reactie
anoniem Geplaatst: 22 mei 2002 Auteur Delen Geplaatst: 22 mei 2002 Met LIMIT kan je ook 10 records per pagina krijgen hoor, geen probleem (LIMIT 0, 10 bijvoorbeeld voor de eerst 10). Werkt in mijn ogen toch een stukje makkelijker, maar het is ook het enigste dat makkelijk gaat met MySQL geloof ik ;) Quote Link naar reactie
anoniem Geplaatst: 22 mei 2002 Auteur Delen Geplaatst: 22 mei 2002 En dan de volgende pagina's [color=red:8035286ca4]????[/color:8035286ca4] Quote Link naar reactie
anoniem Geplaatst: 22 mei 2002 Auteur Delen Geplaatst: 22 mei 2002 Dan begin je bij record nummer 10 natuurlijk ;) LIMIT 10, 10 LIMIT 20, 10 LIMIT 30, 10 etc. De 1e parameter is dus het record waar je begint, het tweede hoeveel je er wilt hebben (overigens: LIMIT x geeft de eerste x resultaten terug). Je zal met mij eens zijn dat dit een stuk makkelijker is. Maar ja, je hebt er zo weinig aan met Access ;) Klopt trouwens niet helemaal mijn verhaal (tis laat ;)): LIMIT 10, 10 begint dus bij record 11 en laat er dan dus 10 zien (dus 11 t/m 20). Quote Link naar reactie
anoniem Geplaatst: 22 mei 2002 Auteur Delen Geplaatst: 22 mei 2002 [color=brown:c12ed91825]Je blijft mij verbazen Bill.....[/color:c12ed91825] :roll: Dit slaat natuurlijk helemaal nergens op. :lol: Quote Link naar reactie
anoniem Geplaatst: 22 mei 2002 Auteur Delen Geplaatst: 22 mei 2002 [quote:7e7d95865b="Wiep Corbier"][color=brown:7e7d95865b]Je blijft mij verbazen Bill.....[/color:7e7d95865b] :roll:[/quote:7e7d95865b]Jij mij ook, ik snap geen h*l van wat er nu weer mis is ;) Quote Link naar reactie
anoniem Geplaatst: 22 mei 2002 Auteur Delen Geplaatst: 22 mei 2002 Heb jij een voorbeeldje waar jouw idee verwerkt is? Kijk nou eens naar mijn voorbeeld.... Quote Link naar reactie
anoniem Geplaatst: 22 mei 2002 Auteur Delen Geplaatst: 22 mei 2002 [quote:eafc3c7c3e="Wiep Corbier"]Heb jij een voorbeeldje waar jouw idee verwerkt is?[/quote:eafc3c7c3e]Ja, maar die zijn over het algemeen een paar honderd regels aan code (exclusief HTML enzo) en dat lijkt me geen goed plan hier ;) Maar het idee is toch simpel? Je zet onderaan pagina 1 2 3 4 5 etc neer en die verwijzen dan allemaal naar een url met bijvoorbeeld een variabele offset erin (dus pagina 2 krijgt dan zoiets als script.php?offset=10) waarbij het aantal pagina's en de offset per link natuurlijk dynamisch ingevuld wordt. Vervolgens knikker je die offset in je query (bij de LIMIT dus) en voila: de juiste resultaten. [quote:eafc3c7c3e="Wiep Corbier"]Kijk nou eens naar mijn voorbeeld....[/quote:eafc3c7c3e]Deed ik. Maar het zal best allemaal werken, maar ik zeg ook alleen dat LIMIT toch echt makkelijker werkt. Maar daar hoef jij het echt niet mee eens te zijn of zo, jij vindt maar wat jij vindt en ik vind wat ik vind... Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen