ホームページ > バックエンド開発 > PHPチュートリアル > 使い方も含めた実践的な簡単PHPページ集_PHPチュートリアル

使い方も含めた実践的な簡単PHPページ集_PHPチュートリアル

WBOY
リリース: 2016-07-13 10:26:00
オリジナル
1679 人が閲覧しました

方法 1:

コードをコピーします コードは次のとおりです:

/*
ページング クラスは、ページ内に複数のデータを表示するために使用されます
バージョン: 1.0
日付: 2013-10-20
*/

/*
呼び出しは非常に便利です、接続してくださいクエリ SQL 文字列を直接渡すことも、$pages = new Page('SELECT * FROM `zy_common_member`');
または $pages のように、各ページに表示されるデータ項目の数を指定することもできます。 = new Page('SELECT * FROM `zy_common_member`', 10);
*/
private $curPage;
// クエリ SQL ステートメント
Private $ Limitstr; // クエリを実行します。文の背後にある制御ステートメントを制限

/ *

コンストラクター
$ Quicynrクエリデータ
$ Dispnumページごとに表示されるデータの数->dispNum = $dispNum;
$this->dispNum = $dispNum;
$this->totalPages = ceil($totalNum / $dispNum) : 1);
$this->setCurPage($temp); );

/*現在のページのデータ内容を表示* /
プライベート関数 showCurPage(){
$this->limitStr = ' LIMIT '.(($this->curPage - 1)* $this- >dispNum).','.$this->dispNum ;
H if ($ This-& GT; TotalPages & GT; 0) {

{{''. '& Lt; }
return;

$cols = mysql_num_fields($result);

echo '';
echo '';
for($i=0; {
echo '';
}
echo '';

while( $row = mysql_fetch_assoc($result))
{
echo '';
foreach($row as $key=>$value)
{
echo '';
}
echo '';
}

echo '
';
echo mysql_field_name($result, $i);
echo '
';
echo $value;
echo '
';
}

プライベート関数 setCurPage($curPage){
if( $curPage < 1)
{
$curPage = 1;
else if($curPage > $this->totalP年齢)
{
$curPage = $this->totalPages;
}
$this- >curPage = $curPage;
}

/*
显示分页页脚の情報
如首页、上一页、下一页、尾页等情報
*/
プライベート関数 showFoot(){
echo '< ;a href="?curPage=1">首页';
echo '上一页';
echo '下一页';
echo '尾页';
}

}

?>

方法二:

复制代代码如下:

class mysqlPager{
var $pagePerNum=5;//各ページに表示されるデータ項目の数
var $pagePerGroup=5;//各ページンググループのページ数
var $curPage=0; //現在のページ、デフォルトの最初のページ
var $totalPage=0;//総ページ数
var $totalNum=0;//総データ項目数
var $curPageGroup=0;//現在のページンググループ
var $ curPageUrl=""; //現在使用されているページング URL
var $custom;//カスタム スタイル
var $pageQuerySql="";
function mysqlPager(){//Constructor PHP4
}
/**
* すべての変数を初期化します
* /
function InitAllVar($totalNum,$pagePerGroup,$curPageUrl,$curPage=1,$curPageGroup=1)
{
$this->totalNum=$totalNum;
$this->pagePerGroup=$pagePerGroup; $ this->curPageUrl=$curPageUrl;
$this->curPage=$curPage;
}
/**
* 現在のページ変数を設定します
*
* @paramnumber $curPage
*/
function setCurPage($curPage)
{
$this->curPage=$curPage;
}
/**
* 現在のページング グループ変数を設定します
*
* @parammixed $curPageGroup
*/
function setCurPageGroup($curPageGroup)
{
$this->curPageGroup=$curPageGroup;
/**
* 現在使用している配布クラスの URL を設定します
* $curPageUrl 文字列
*/
function setCurPageUrl($curPageUrl)
{
$this->curPageUrl=$curPageUrl;
}
/**
* すべて取得
*
* @param 番号 $totalNum
* @param 番号 $curPage
* @return float
*/
function getTotalPage($totalNum,$curPage=0)
{
return $this->totalPage=ceil($totalNum/$this->pagePerNum);
}
/**
* ユーザー定義スタイルを設定します
*
* @parammixed $customStyle
*/
function setCustomStyle($customStyle)
{
$this->customStyle= $customStyle
}
/**
* 文字列を返すようにユーザー定義のスタイルを設定します
*
*
* @parammixed $pagerString
*/
function setCustomStyleString($pagerString)
{
return $styleString="".$pagerString."< /span>";
}
/**
* パラメーターなしでナビゲーション ページ情報を出力しますが、使用する前に対応する変数を設定する必要があります
*
* @parammixed$curPageGroup
* @parammixed$curPage
* @parammixed$curPageUrl
*/
function showNavPager($curPageGroup=0,$curPage=0,$curPageUrl=0)
{
if($curPageGroup)
{
$this-> ; curPageGroup=$curPageGroup;
}
if($curPage)
{
$this->curPage=$curPage;
if($curPageUrl)
{
$this->curPageUrl=$curPageUrl;
}
$rtnString="";
//変数が初期化されているかどうかを判断する
if($this->curPageGroup && $this->curPageUrl && $this->totalNum && $this->curPage)
{
$ this->totalPage=$this->getTotalPage($this->totalNum);
if($this->curPage==1)
$this->curPage=($this-> curPageGroup- 1)*$this->pagePerGroup+1;
if($this->curPageGroup!=1)
{
$prePageGroup=$this->curPageGroup-1;
$rtnString.="< a href =".$this->curPageUrl."?cpg=$prePageGroup >".$this->setCustomStyleString("<<")." ";
}
for( $i =1;$i<=$this->pagePerGroup;$i++)
{
$curPageNum=($this->curPageGroup-1)*$this->pagePerGroup+$i;
if($curPageNum< ;= $this->totalPage){
if($curPageNum==$this->curPage)
{
$rtnString.=" ".$this->setCustomStyleString($curPageNum);
}else
{
$ rtnString.=" curPageUrl?cpg={$this->curPageGroup}&cp=$curPageNum >"; ). "";
}
}
}
if($this->curPageGrouptotalPage/$this->pagePerGroup)-1)
{ =$ this->curPageGroup+1;
$rtnString.=" curPageUrl?cpg=$nextPageGroup >".$this->setCustomStyleString(">>") ." ";
}
$this->pageQuerySql=" 制限 ".(($this->curPage-1)*$this->pagePerNum).",".$this- > pagePerNum;
}
else
{
$rtnString="エラー: 変数が初期化されていません! ";
}
return $rtnString;
}
/**
* MYSQL をクエリするための完全な SQL ステートメントを取得します
*
* @parammixed$sql
*/
function getQuerySqlStr($sql)
{
$allsql=$sql.$this->pageQuerySql;
return $allsql;
}
/**
* 各ページに存在するデータ項目の数を設定します
*
* @param INT $num
*/
function setPagePerNum($num)
{
$this->pagePerNum=$num
}
}
?>


使用法:
$curPage=$_GET['cp'];
$curPageGroup=$_GET['cpg']
if($curPage=="")
$curPage=1; ")
$curPageGroup=1;
//それらはすべて 1 から始まります。インジェクションを防ぐために、受信データは事前​​に検証される必要があります
//。 。 。
$pager=new MysqlPager();
$pager->initAllVar(...)
$pager->showNavPager();
//次の SQL は任意の出力になります
$sql="select id form dbname ";
$querysql=$pager->getQuerySqlStr($sql)
//今後、$querysql を使用してデータベースにクエリを実行し、対応する結果セットを取得できます

方法 3:

PHP ページング関数:


コードをコピーします コードは次のとおりです:
<
//ファイルの繰り返しによるエラーを回避するために、
関数が存在する:
if(!function_exists( pageft)){
//関数 pageft() を定義します。3 つのパラメーターの意味は次のとおりです:
//$totle: 情報の総数;
//$displaypg: 数値各ページに表示される情報の数、ここでのデフォルト設定は 20 です。
/ /$url: ページング ナビゲーションのリンクは、異なるクエリ情報
"page" を追加することを除いて、この URL と同じです。
//デフォルト値はこのページの URL (つまり、$_SERVER["REQUEST_URI"])
に設定する必要がありますが、デフォルト値の右側は定数のみであるため、デフォルト値は空に設定されますstring
を入力し、関数内でこのページのURLとして設定します。
function pageft($totle,$displaypg=20,$url=”){
//いくつかのグローバル変数を定義します:
//$page: 現在のページ番号;
//$firstcount: (データベース) クエリの開始項目;
//$pagenav: ページ ナビゲーション バーコード。関数内では出力されません。
//$_SERVER: このページの URL "$_SERVER["REQUEST_URI"]" を読み取るために必要です。
global $page,$firstcount。 . ,$pagenav,$_SERVER;
//ここで「$displaypg」を関数の外部からアクセスできるようにするには、
変数をグローバル変数として再定義すると、元の値が次のようになります。上書きされるため、ここで再割り当てします。
$GLOBALS["displaypg"]=$displaypg;
if(!$page) $page=1;
// $url が空のデフォルト値を使用する場合、値はこのページの URL:
if(!$url){ $url=$_SERVER["REQUEST_URI"];}
//URL 分析:
$parse_urlparse_url=parse_url($url);
$url_query=$parse_url["query "];
/ /URLのクエリ文字列を別途取り出します
if($url_query){
//URLにはページ番号情報が含まれている可能性があるため、新しいページ番号情報を追加するには
それを削除する必要があります
//ここでは正規表現が使用されています。「PHP の正規表現」を参照してください。
$url_query=ereg_replace("(^|&)page=$page","",$url_query);処理された URL のクエリ文字列 元の URL クエリ文字列:
$url=str_replace($parse_url["query"],$url_query,$url);

//URL の後にページ クエリ情報を追加しますが、割り当てを待ちます:
if($url_query ) $url.=”&page”; else $url.=”page”;
$url.=”?page”; ;
// 最後のページ、総ページ数
$page=min($lastpg,$page)
//前のページ
$nextpg=($page== $lastpg ? 0 : $ page+1);
//次のページ
$firstcount=($page-1)*$displaypg;
$pagenav="ページを表示します。 ".($totle ?($firstcount+1):0)."
-".min($firstcount+$displaypg,$totle)."
< $totle レコードの合計 Record< BR>”;
// ページが 1 つしかない場合は、関数から抜けます:
if($lastpg<=1) return false; ='$url=1'>ホームページ < /a>
if($prepg) $pagenav.=" < a href='$url=$prepg'> 前のページ"; else $pagenav.=" 前のページ ";
if($nextpg) $pagenav.=" < a href='$url=$nextpg'> 次のページ< =" 次のページ"
$pagenav .=" < a href='$url=$lastpg'< 最後のページ<
//すべてのページ番号をループします。 $pagenav.=”ページに移動 < select name='toppage'
size='1' onchange='window.location=”
$url=”+this.value'>n”; =1;$i< =$lastpg; $i++){
if($i==$page) $pagenav.=”< オプション値='$i'
が選択されました>$i
else $pagenav.=”< オプション値='$i'< /option>n”
}
$pagenav.=” < $lastpg ページ”; }
?>

ページ分割する場合は、pageft() 関数を呼び出します。ただし、何も出力されませんが、使用するためのいくつかのグローバル変数 ($firstcount、$displaypg、$pagenav) が生成されます。
以下はPHPのページング関数の使用例です:

コードをコピーします コードは次のとおりです:

<(前の手順は省略)
include(" pageft.php");
//「pageft.php」ファイルが含まれます
//情報の総数を取得します
$result=mysql_query("select
* from mytable");
$total=mysql_num_rows($result);
//pageft() を呼び出して、ページごとに 10 項目を表示します。 情報
(デフォルトの 20 を使用する場合、このパラメータは省略できます)、
このページの URL を使用します (デフォルトなので省略します)。
pageft($total,10);
//生成されたグローバル変数が便利になります:
$result=mysql_query(”select *
from mytable limit $firstcount,
$displaypg “); ($result)){
//(リスト内容省略)
}
//ページングナビゲーションバーコードを出力:
echo $pagenav;
?>



http://www.bkjia.com/PHPjc/824886.html
www.bkjia.com

tru​​e

技術記事方法 1: 次のようにコードをコピーします。 ?php /* ページング クラスは、ページングで複数のデータを表示するために使用されます。 バージョン: 1.0 日付: 2013-10-20 */ /* 呼び出しは非常に便利です。まずデータベース、そして...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート