我们在浏览网页时,经常看到分页显示的页面。如果想把大量数据提供给浏览者,分页显示是个非常实用的方法。在下面的文章中,我们将介绍如何用php和MS SQL Server实现对数据库中纪录的分页显示。
この例では、mssql_num_rows() 関数を使用して現在クエリされているレコード数を取得し、ページ サイズ SgPageSize と組み合わせることで、現在のレコード セットに表示されるページ数を取得し、ページング表示の基礎を築きます。 。 mssql_data_seek() 関数は、ページング表示の重要な関数です。この関数の 2 番目のパラメーターは、現在のレコードのオフセットに基づいて、表示されるページを見つけることができます。 レコードがありません";
ページング表示ソースプログラム:
& lt;ボディ> ;
//理解を容易にし、それを適用して作業を高速化するために、MS SQL Server の NorthWind データベースの Customers テーブルを例に挙げます。
$gPageSize= 10; //各ページに表示されるレコード数
$hostname = "localhost"; //MSSQL Server
$dbpasswd = "1111111"; //パスワード
//データベースに接続します
$id = mssql_connect($hostname,$dbuser,$dbpasswd) または die("データベース サーバーに接続できません!");
//データベースを選択します。便宜上、MSSQL Server の NorthWind データベースを例として示します
$db = mssql_select_db("northwind",$id) or die("Unable to connect to the Database!");
//Customers テーブルをクエリ文字列を作成する例
$query = "select * from Customers";
//クエリ ステートメントを実行します
$rresult = mssql_query($query) または die("SQL を実行できません: $query");
//$page 変数は現在表示されているページを示します
if(!isset($page)) $page=1;
if($page==0) $page=1;
//現在クエリされているレコードの数 $nNumRows
if(($nNumRows = mssql_num_rows($rresult))<=0)
{
echo "
exit;
};
//最大ページ数を取得します MaxPage
$ MaxPage = (int)ceil($nNumRows/$gPageSize);
if((int)$page > $MaxPage)
$page=$ maxPage;
?>
ページ
$ $MaxPage のページ";?> ;
//テーブルヘッダーを表示
for($iCnt = 0; $iCnt < mssql_num_fields($ rresult); $iCnt++)
{
echo "".mssql_field_name($rresult,$iCnt)." ;
}
?>
//バイアス Shift ($page - 1)*$gPageSize に従って、mssql_data_seek 関数を使用して表示するページを取得します
if( mssql_data_seek($rresult, ($page-1) *$gPageSize) )
{
$i=0;
//現在のレコードセットを表示するループ
for($i;$i<$gPageSize;$i++)
{
echo "< ;tr style="font-size:12px">";
//現在のレコードを取得して配列に格納します $arr;
$arr= mssql_fetch_row($rresult);
if($arr)
{
//現在のレコードのすべてのフィールド値を表示するループ
for($ nOffSet = 0;$nOffSet < count($arr);$nOffSet++)
{
echo "< td>".$arr[$nOffSet]."";
}
}
echo "";
}
}
?>
< ;/table>
//ホームページと前のページへのリンク
if( $nNumRows>1 && $page>1)
{
$prevPage=$page-1;
echo " ";
echo " 前のページ ";
}
//次のページと最後のページへのリンク
if( $page>=1 && $page<$MaxPage)
{
$nextPage= $page+1;
echo " 次のページ
echo " 最後のページ ";
}
?>