ホームページ  >  記事  >  バックエンド開発  >  非常に古典的なページング プログラム、その対処方法

非常に古典的なページング プログラム、その対処方法

WBOY
WBOYオリジナル
2016-06-13 13:52:50903ブラウズ

非常に古典的なページング プログラム
Conn.php

header("Content-Type:text/html;charset=utf-8");
$conn = " ";
$mysql_localhost = "localhost";
$mysql_user = "root";
$mysql_pws = "sa";
$mysql_data = "page";
/**
* データベースに接続
*/
function OpenDatabase()
{
global $mysql_localhost,$mysql_user,$mysql_pws,$mysql_data; // グローバル変数を設定しますが、関数の終了後は値が無効になります
$conn = @mysql_connect ($mysql_localhost,$mysql_user,$mysql_pws) または die("プロンプト: データベース接続に失敗しました!");
$GLOBALS["conn"] = $conn; // グローバル変数値、値は有効です。関数終了後
mysql_query("set names 'utf-8'"); //エンコーディングを設定します
$db_selected = mysql_select_db($mysql_data,$conn);
}
/**
* データベースを閉じる
*/
function CloseDatabase()
{
mysql_close($GLOBALS["conn"]);
}
?>
Page.php
< ?php
header ("Content-Type:text/html;charset=utf-8");
include("Conn.php");
OpenDatabase() //データベースを開きます<🎜; >//---- ---ページング関数の呼び出し------
$pagenav = _page_list("test",3);
//---------- ------- -------
echo $pagenav; //ページングによって返された文字列を出力します
//-------------- ------ --リストを表示-------------------
$sql = "SELECT * from test limit $firstcount,$pagesize";
$result = mysql_query( $sql,$conn); //クエリ ステートメント
while($row = mysql_fetch_array($result,MYSQL_NUM))
{
echo "


".$row [0]." | ".$row[1]." | ".$row[2];
}
echo "
";
mysql_free_result($result); //メモリ空間を解放します
//------------------------------------------ ------ ----
echo $pagenav; //ページングによって返された文字列を出力します


//============= ======= ========================================== ======= ===========
/**
* 関数名: _page_list
* パラメータ: $table ---- クエリ対象のテーブルの名前
* $page_size ---- ページあたりのレコード数。デフォルトでは 20 レコードです。 1 ページに表示
* 機能: 全レコードの分散表示
* 使用方法: $pagenav = _page_list("test");
* 次に、ページング文字が配置される $pagenav
を出力します。表示される。*/
function _page_list($table,$page_size=20)
{
グローバル $firstcount,$pagenav, $page,$conn,$pagesize;
$page = $_GET[page];
$url = _get_url();

$pagesize = $page_size;
$result = mysql_query ("select * from $table",$conn);
$total = mysql_num_rows($result) //レコードの総数
mysql_free_result($result);メモリ空間
$lastpg = ceil($total / $pagesize); //最後のページ、つまり総ページ数

$page = min($lastpg,$page) / /最小の数値を返します
$prepg = ($page > 1)?$page-1:$page; //前のページ
$nextpg = ($page < $lastpg)?$page+1 :$page; //次のページ

$firstcount = ($page-1)*$pagesize // デフォルトでは 0 から始まる、各ページの最初のレコードへのポインタ
if($firstcount; <= 0) $firstcount = 0;

$pagenav = "合計".$lastpg." ページ";
$pagenav .= "";
if($page {
$pagenav .= " 前のページ";
}
else
{
$pagenav .= "
前のページ";
}

if($page >= $lastpg)
{
$pagenav . = "次のページ";
}
else
{
$pagenav .= " 次のページ< ;/a>";
}
$pagenav .= "
最後のページ";
$pagenav .= " 現在のページ".$page." ページ";
$pagenav .= "
";
return $pagenav;
}

/**
*関数名: _get_url
*関数: ページの完全な URL 値を返します。つまり、ルート ディレクトリから始まり、URL の末尾の #fragment
を除きます。*/
function _get_url()
{
global $page;
$url = $_SERVER["REQUEST_URI"] //URL アドレスを取得します
$url_path = parse_url($url,PHP_URL_PATH); //ファイルパスを取得します
$url_query = parse_url($url,PHP_URL_QUERY); //URLを取得しますか?数字の後の情報は、クエリ文字列
echo $url

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