web程式設計之分頁顯示 (轉)

amyz發表於2007-08-16
web程式設計之分頁顯示 (轉)[@more@]

  之分頁顯示
    流浪小子

  俗話說"萬是開頭難",真的是這樣,初學web程式設計總是有很多的問題,下面就介紹比較常見的一個問題--分頁顯示。
  在網上介紹分頁顯示的文章也是很多,但是大多數是用的來實現的,本是以來實現分頁顯示。程式的思路是透過取得記錄的總數otal,和定義好的每頁顯示的記錄數EveryPage,來計算總的頁數。然後透過控制指標的移動來實現指定的資料的讀取。下面透過程式例子來具體解釋。
  首先,建立一個資料表,待會要。(由於只是實驗只用ACCESS作為)建立一張名為test的資料庫表,為了簡單欄位只要三個,分別是id(自動編號),name(文字),passowrd(文字)。然後隨便往資料庫裡插入一些資料。注意資料庫要在OC資料來源管理器中建立DSN。

  //written by qiyadeng;
 //pages.jsp
 %>

..*"%>


web程式設計之分頁顯示

資料表

int EveryPage=8;//每頁顯示的記錄數;
int OnPage=1; //當前顯示的頁數;
int Total=0;//記錄的總數;
int TotalPage=0;//記錄的總頁數;
//下面是連線資料庫;由於是簡單的例子就不用JavaBean了;
Class.forName("sun..odbc.JdbcOdbc");
Connection conn=DriverManager.getConnection("jdbc:odbc:test");//DSN名為test;
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
String sql=" * from test";//查詢語句;
ResultSet rs=stmt.executeQuery(sql);

rs.last();//移到最後一條記錄;
Total=rs.getRow();//記錄的總數;
//計算出總的頁數TotalPage;
if(Total%EveryPage==0)
TotalPage=Total/EveryPage;
else
TotalPage=Total/EveryPage+1;
//取得文字框輸入的值;
String Pages=request.getParameter("Pages");
if(Pages!=null)
{
 OnPage=Integer.parseInt(Pages);//把Pages轉換為整型;
 //根據輸入的值,判斷應顯示的頁;
 if(OnPage>TotalPage)
 {
 OnPage=TotalPage;
 }
 else if(OnPage<=0)
 {
 OnPage=1;
 }
}
rs.absolute((OnPage-1)*EveryPage+1);//指定指標的位置;
%>


使用者個,共頁當前在第










//迴圈顯示出記錄;
for(int i=1;i<=EveryPage;i++)
{
%>





if(!rs.next())//到達最後的記錄時退出for迴圈;
break;
}
//關閉;
rs.close();
stmt.close();
conn.close();
%>
使用者編號使用者名稱密碼


//當前顯示的是不是第一頁應該顯示的東西;
if(OnPage!=1)
{
%>



>第一頁
>上一頁

}
//當前顯示的是不是最後一頁應該顯示的東西;
if(OnPage!=TotalPage)
{
%>

>下一頁
>最後一頁

}
%>


轉到>頁




 相信透過上述的例子,你應該對分頁顯示已經有了一個比較好的認識,如果你認為上述例子中有什麼問題的可以e至work-cn.com">webmaster@network-cn.com或是到.(源程式和例子資料庫地址)

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-962639/,如需轉載,請註明出處,否則將追究法律責任。

相關文章