PHP+MySQL分页显示记录的代码
时间:2021-07-01 10:21:17
帮助过:32人阅读
$pagesize=10; //设置每一页显示的记录数 - $conn=mysql_connect("localhost","root",""); //连接数据库
- $rs=mysql_query("select count(*) from tb_product",$conn); //取得记录总数$rs
- $myrow = mysql_fetch_array($rs);
- $numrows=$myrow[0];
//计算总页数 - $pages=intval($numrows/$pagesize);
//判断页数设置 - if (isset($_GET['page'])){
- $page=intval($_GET['page']);
- }
- else{
- $page=1; //否则,设置为第一页
- }
三、创建用例用表myTable
- create table myTable(id int NOT NULL auto_increment,
- news_title varchar(50),
- news_cont text,
- add_time datetime,
- PRIMARY KEY(id))
四、完整代码
- php分页示例_bbs.it-home.org
-
- $conn=mysql_connect("localhost","root","");
- //设定每一页显示的记录数
- $pagesize=1;
- mysql_select_db("mydata",$conn);
- //取得记录总数$rs,计算总页数用
- $rs=mysql_query("select count(*) from tb_product",$conn);
- $myrow = mysql_fetch_array($rs);
- $numrows=$myrow[0];
- //计算总页数
- $pages=intval($numrows/$pagesize);
- if ($numrows%$pagesize)
- $pages++;
- //设置页数
- if (isset($_GET['page'])){
- $page=intval($_GET['page']);
- }
- else{
- //设置为第一页
- $page=1;
- }
- //计算记录偏移量
- $offset=$pagesize*($page - 1);
- //读取指定记录数
- $rs=mysql_query("select * from myTable order by id desc limit $offset,$pagesize",$conn);
- if ($myrow = mysql_fetch_array($rs))
- {
- $i=0;
- ?>
-
-
-
-
标题 | -
-
发布时间 | -
- do {
- $i++;
- ?>
-
-
=$myrow["news_title"]?> | -
=$myrow["news_cont"]?> | -
- }
- while ($myrow = mysql_fetch_array($rs));
- echo "
"; - }
- echo "共有".$pages."页(".$page."/".$pages.")";
- for ($i=1;$i< $page;$i++)
- echo "[".$i ."] ";
- echo "[".$page."]";
- for ($i=$page+1;$i<=$pages;$i++)
- echo "[".$i ."] ";
- echo "";
- ?>
五、总结 - 本例代码在windows2000 server+php4.4.0+mysql5.0.16上运行正常。
- 显示的分页格式是[1][2][3]…这样形式。
- 想显示成“首页 上一页 下一页 尾页”这样形式,请加入代码:
- $first=1;
- $prev=$page-1;
- $next=$page+1;
- $last=$pages;
if ($page > 1) - {
- echo "首页 ";
- echo "上一页 ";
- }
if ($page < $pages) - {
- echo "下一页
- echo "尾页 ";
- }
其实,写分页显示代码是很简单的,只要掌握了它的工作原理。 |