ホームページ > バックエンド開発 > PHPチュートリアル > 前ページ 次ページ ページめくりのコード例の PHP 実装の詳細な紹介

前ページ 次ページ ページめくりのコード例の PHP 実装の詳細な紹介

黄舟
リリース: 2023-03-06 15:32:02
オリジナル
5562 人が閲覧しました

具体的な紹介前ページと次ページのページめくりコード例のPHP実装

、<?PHP
//1,将数据库的所有记录查询出来,然后再一页一页的显示
$link=mysql_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;123&#39;) ; 
mysql_select_db(&#39;yanhua&#39;);

mysql_query("set names utf8");

//首先要=知道每页显示几条记录 pagesize
//第几页 page
//下一页要掠过之前的几个记录 offset
/*
0 0 0 0 0 0 0 0 0
page offset pagesize
1 0 2
2 2 2
3 4 2
4 6 2
*/
//我们还是通过传递page参数的形式来判断当前是第几页
//?page = 1 第一页 ?page=2 第二页 page=3 第三也
$pagesize = 2;
$page = isset($_GET[&#39;page&#39;])?$_GET[&#39;page&#39;]:1;
//通过page 和 pagesize 求出offset
$offset = $pagesize * ($page-1);
include ("libs/Smarty.class.php");
$smarty = new Smarty();
$smarty->reInitSmarty("demo/templates","demo/templates_c","demo/config","demo/cache");
$array_new=array();
$sql = "select * from news limit $offset,$pagesize";
$res = mysql_query($sql);
while($row = mysql_fetch_assoc($res)){
$array_new[]=$row; 
}
//var_dump($array_new);
$smarty->assign("array_new",$array_new);
$smarty->display("news.tpl");
$sql = "select count(*) as total from news";
$result = mysql_query($sql);
//总的记录数
$row = mysql_fetch_assoc($result);
$total_rows = $row[&#39;total&#39;];
$total_page = ceil($total_rows/$pagesize);
echo &#39;<a href="new.php">首页</a>&#39;;
//第一页的时候没有上一页
if($page > 1){
echo &#39;<a href="new.php?page=&#39;.($page-1).&#39;">上一页</a>&#39;;
echo &#39; &#39;;
}
//尾页的时候不显示下一页
if($page < $total_page){
echo &#39;<a href="new.php?page=&#39;.($page+1).&#39;">下一页</a>&#39;;
echo &#39; &#39;;
}
echo &#39;<a href="new.php?page=&#39;.$total_page.&#39;">尾页</a>&#39;;
ログイン後にコピー

以上が前ページ 次ページ ページめくりのコード例の PHP 実装の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート