使い方も含めた実践的な簡単PHPページ集_PHPチュートリアル
方法 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 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->curPageGroup
{ =$ 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:
//ファイルの繰り返しによるエラーを回避するために、
関数が存在する:
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
true

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。
