ホームページ >php教程 >php手册 >PHPとSQL Serverを使用したページング表示の実装

PHPとSQL Serverを使用したページング表示の実装

WBOY
WBOYオリジナル
2016-06-21 09:15:061167ブラウズ

ページ|ディスプレイ

Web を閲覧していると、ページングでページが表示されることがよくあります。閲覧者に大量のデータを提供したい場合、ページネーション表示は非常に実用的な方法です。次の記事では、PHPとMS SQL Serverを使ってデータベース内のレコードのページング表示を実現する方法を紹介します。


この例では、mssql_num_rows() 関数を使用して現在クエリされているレコード数を取得し、ページ サイズ SgPageSize と組み合わせることで、現在のレコード セットに表示されるページ数を取得し、ページング表示。 mssql_data_seek() 関数は、ページング表示の重要な関数です。この関数の 2 番目のパラメーターは、現在のレコードのオフセットに基づいて、表示されるページを見つけることができます。


ページング表示ソースプログラム:






PHP paging



;


//理解を容易にし、それを適用して作業を高速化するために、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 ";

}

?>



//バイアス 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
{

$nextPage= $page+1;

echo " 次のページ ";

echo " 最後のページ
}

?>








上記のスクリプトプログラムにいくつかの変更を加えると、独自のサーバーを作成できます。端末ページング表示用のプログラムが利用可能になりました。





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
".mssql_field_name($rresult,$iCnt)."