ホームページ  >  記事  >  バックエンド開発  >  phpとmysqlを使用したページングの例

phpとmysqlを使用したページングの例

黄舟
黄舟オリジナル
2017-11-11 10:15:251280ブラウズ

php ページングの実装が効果を達成するには、データベース内のデータと連携する必要があることは誰もが知っています。前回の記事でも簡単に説明しましたが、php+mysql はどのようにしてページング効果を実現するのでしょうか?今日は一緒に見てみましょう!

mysql でページ内のデータを表示するステートメントは、limit 5,1 です。5 は検索の開始位置を示し、1 は 1 ページを表示することを示します

したがって、php で前のページを実装するには、データ ページを渡す必要があります。次のページまで移動すると、ページ分割できます。

は 3 つのステップとして理解できます:

1) データベースに接続し、フロントエンドにデータを表示します2) フロントエンドからページ (ページ番号の値) を渡します。 php に変換し、ここでもページ番号を 1 以上、総ページ数以下の範囲で判断する必要があります

3) PHP はページ番号を取得し、判断し、対応する - を実行します。 +操作してリミット値を変更します。

ps: データはデータベースに構築されており、ここでの php は接続のみを担当します。

まず、フロントエンドでデータベース内の情報を表示する方法を知る必要があります:

php ファイル:

//连接数据库:
$link = mysqli_connect("localhost","root","123456","test") or die ("错误:连接数据库失败");   //一次为:服务器,用户名,密码,库名
mysqli_query($link,"set names 'utf8'"); //输出的编码方式,这句一定要有。

//连接表:
$sql = "SELECT * FROM wordspace WHERE sa_id IS NOT NULL";   //mysql查询语句
$sqlcount = mysqli_query($link,$sql) or die ("查询失败");  //将其输出.
$info = mysqli_fetch_ array($sqlcount);
while($info){
	$result[ ] = $info;  //传值给一个数组
}

mysqli_free_result($info);  //查询完后要释放该表
mysqli_close($link);  //关闭数据库

フロントエンドでデータベースから取得した配列を表示します。

<table border="1">
	<tr>
		<td>id</td>
		<td>Price</td>
		<td>customer</td>
	</tr>
<!---用php将数据显示-->
	<?php foreach($result as $val)   {?>
	<tr>
		<td><?php echo $val[&#39;id&#39;];?></td>
		<td><?php echo $val[Price&#39;];?></td>
		<td><?php echo $val[&#39;customer&#39;];?></td>
	</tr>
	<?php  }  ?>
</table>

テーブルデータを表示したら、これに基づいてページングを実現します。

前のページと次のページの接続を追加し、渡された値が要件を満たすかどうかをここで判断します:

<!--显示首页和上一页的条件-->
<?php if($page > 1)  {?>        
	<a href="?page=1">首页</a>
	<a href="?page=<?php echo $prevpage;">上一页</a>
<?php  }  ?>

<!--显示下一页和尾页的条件-->
<?php if($page < $ numpages)  {?>
	<a href="?page=<?php echo $nextpage;?">下一页</a>
	<a href="?page=<?php echo $numpages;?>尾页
<?php  }  ?>

phpでデータベースに接続するための言語を変更する必要があります:

//获取总记录数:
$sqls  = "SELECT COUNT(*)  as totalFROM wordspace where sa_id  IS NOT NULL";
$sqlcount = mysqli_query($link,$sqls) od die("查询失败");
$pagecount  = mysqli_fetch_array($sqlcount);
$pagecount = $pagecount[&#39;total&#39;];
mysqli_free_result($sqlcount);   //查询完记得释放空间
//获取页数,判断是否符合要求
$page = intval($_GET[&#39;page&#39;]);
if($page <=0) {$page= 1;}
elseif($page > $pagecount){ $page = $pagecount; }

//定义每页显示的页数:
$pageshow = 5;
$pagesize = ($page-1) * $pageshow;
//计算总页数:
$numpages = ceil($pagecount/$pageshow);   //向上取整;

//连接要显示的数据库
$sql = "SELECT * FROM wordcpace where IS NOT NULL limit $pagesize,$pageshow";
$sqlinfo = mysqli_query($sql);
$pide = mysqli_fetch_array($sqlinfo)or die("分页查询失败");
while($pide){
	$result[ ] = $pide;
}
$prevpage = $page - 1;
$nextpage = $page + 1;
mysqli_free_result($sqlinfo);
musqli_close($link);  //最后要关闭数据库

概要:

これを読んで、PHP ページングは​​、最初にデータベースからデータを抽出して表示し、その後、値の転送や判定などの一連の操作を実行するだけであり、本質をマスターすると、何も問題ありません。お役に立てば幸いです。

関連する推奨事項:

PHPページングクラスの実装

PHPページングの実装原理

ページング効果を実装するPHPの例

PHPのページネーションコードの書き方

以上がphpとmysqlを使用したページングの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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