Building a Personalized News Portal
In this section, we’ll build our second application—a dynamic, database-driven news portal that derives its content from user preference information.
News Category Paging Example
Web-based applications frequently present information to the user in pages. Just consider some sites you might be familiar with. If you perform a search at Amazon.com, WilliamsSonoma.com, or Google.com, you will see your search results a page at a time with a little paging widget that shows you where you are. As Figure 17.11 illustrates, each site has a slightly different look to its paging widget, but each one offers the same functionality.

Figure 17-11. Example paging widgets
All of these sites present the results of querying large, relational databases. However, to keep the amount of information on any given page manageable and to keep your response time fast, they all present the results incrementally in pages. A naive technique for scrolling through database query results like this is to open a database cursor, fetch ten records, and keep the cursor open so when the user clicks on the “next page” icon you can fetch ten more pages. However, this technique has many drawbacks:
Generally, database cursors can only be scrolled forward, so offering a facility to go back to the previous page would be tricky.
Scrolling backwards or maintaining a current record position in a cursor ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access