关于 分页 显示 数据库 表中记录的问题 先看看手册$page = $_GET['page']; if($page < 1) $page = 1;当传入的页号小于1时,将页号设为1避免出错 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想你要一步一步的来.首先你实现读取数据,逐条显示,再加入分页程序.事情总是有先后的,慢慢来吧.$PAGE是自定义变量,$_GET['page']是从地址栏传递过来的URL变量,即:abc.php?page=2中的page,$_GET是一个数组,里面的值就是URL变量,你可以随便做一个页面试一试,如下:abc.php===========<?phpprint_r($_GET);//print_r()函数不知道就查手册?>在地址栏里输入abc.php?a=1&b=2&c=3&page=5看看会输出什么? 大体上意思就是你先确定所有数据的总数!!然后确定每一页输出几条数据!然后分页的时候再确定一共需要几页!!在输出数据的时候: $page++; $s=($page-1)*20;select * from 表 order by id desc limit $s,20;意思就是在本页第二次输出的时候从第21条开始!!就是这样!! 分页的思路基本上都是一样的$onelist="15";//每页显示数量//获取GETif(isset($_GET['cp'])){$cp=$_GET['cp'];$limit=($_GET['cp']-1)*$onelist;}else{$cp="1";$limit="0";//查询开始记录数$query="select * from table limit $limit,".$onelist;然后算出下一页(上一页,最后页)的page值是多少基本上都是这样了自己试着写一下就明白了 楼主给你个类,呵呵http://www.phpe.net/class/104.shtml不知道能不能看懂。那个page,是url穿过来的,_get的作用就是得到它。 现在 有一点点进步了 我的 代码是这样的 :<? $page = $_GET['p']; if($page < 1) $page = 1; echo $page; echo "<a href=?p=";?><? echo $page+1;?><? echo ">下一页</a>"; echo "<a href=?p=";?><? echo $page-1;?><? echo ">上一页</a>"; echo $p;?>在地址栏中输入:文件名.php或 文件名.php?p=3 就可以了 但echo "<a href=?p='.($page+1).'>下一页</a>";会出错,错在哪里?班门弄斧,多多指教! echo "<a href=?p=";?><? echo $page+1;?><? echo ">下一页</a>"; echo "<a href=?p=";?><? echo $page-1;?><? echo ">上一页</a>";写的有够乱的....不能弄成一行吗?....晕..你自己看着也不方便呀.下一页出错,可能是你的href里的地址出错了,查一下看看. 这个是比较简单的,可以好好看看了<html><head><title>PHP分页</title></head><body><?$gPageSize= 50; //每页显示的记录数$hostname = "localhost"; //mysql Server$dbuser = "root"; //用户名$dbpasswd = ""; //密码//连接数据库$id = mysql_connect($hostname,$dbuser,$dbpasswd) or die("无法连接数据库服务器!");//选择数据库$db = mysql_select_db("数据库名",$id) or die("无法连接数据库!");$query = "select * from 表名";//执行查询语句$rresult = mysql_query($query) or die("无法执行SQL:$query");//$page变量标示当前显示的页if(!isset($page)) $page=1;if($page==0) $page=1;//得到当前查询到的纪录数 $nNumRowsif(($nNumRows= mysql_num_rows($rresult))<=0){echo "<p align=center>没有纪录";exit;};//得到最大页码数MaxPage$MaxPage = (int)ceil($nNumRows/$gPageSize);if((int)$page > $MaxPage)$page=$maxPage;?><table align="center" width="80%" border=0> <tr><td><? echo "<font size=2>第$page 页,共 $MaxPage 页</font>";?></td><td></td></tr></table><table align="center" width="80%" border="1" cellspacing="0" cellpadding="4" bordercolorlight="#CC9966" bgcolor="#00F2EE" bordercolordark="#FFFFFF" class="LZH"><tr bgcolor="#F7F2ff" style="font-size:14.8px;font-weight:bold"><?//显示表格头for($iCnt = 0; $iCnt < mysql_num_fields($rresult); $iCnt++){echo "<td>".mysql_field_name($rresult,$iCnt)."</td>" ;}?></tr><?//根据偏移量($page - 1)*$gPageSize,运用mysql_data_seek函数得到要显示的页面if( mysql_data_seek($rresult,($page-1)*$gPageSize) ){$i=0;//循环显示当前纪录集for($i;$i<$gPageSize;$i++){echo "<tr style=\"font-size:12px\">";//得到当前纪录,填充到数组$arr;$arr= mysql_fetch_row($rresult);if($arr){//循环显示当前纪录的所有字段值for($nOffSet = 0;$nOffSet < count($arr);$nOffSet++){echo "<td>".$arr[$nOffSet]."</td>";}}echo "</tr>";}}?></table><br><hr size=1 width=80%><div align=center style="font-size:12px"><?//首页和上一页的链接if( $nNumRows>1 && $page>1){$prevPage=$page-1;echo " <a href=$PHP_SELF?page=1>首页</a> ";echo " <a href=$PHP_SELF?page=$prevPage >上一页</a> ";}//下一页和末页的链接if( $page>=1 && $page<$MaxPage){$nextPage= $page+1;echo " <a href=$PHP_SELF?page=$nextPage >下一页</a> ";echo " <a href=$PHP_SELF?page=$MaxPage >末页</a> ";}?></div></body></html> 【百度分享】MySQL 5.1分区技术初探(四) 求助:php源码加密工具? PHP中有关类调用函数的问题 查询数据库时出错,求助!~~~~ 关于pcntl_fork 提示undefined 安装DEDE时 网站之间的SESSION可以互通吗? 菜鸟问题:权限问题? 一个简单的数据库问题在线等!!!!!!!!!! php代码中如何实现禁止某个ip段访问网站的指定的某篇文章 如何用一条正则把一篇html文章页面里没含有字符img,src的所有标签<.*>找到,求一好的写法 高手指教呀!
首先你实现读取数据,逐条显示,再加入分页程序.
事情总是有先后的,慢慢来吧.
$PAGE是自定义变量,$_GET['page']是从地址栏传递过来的URL变量,即:abc.php?page=2中的page,$_GET是一个数组,里面的值就是URL变量,你可以随便做一个页面试一试,如下:abc.php
===========
<?php
print_r($_GET);//print_r()函数不知道就查手册
?>在地址栏里输入abc.php?a=1&b=2&c=3&page=5
看看会输出什么?
$page++;
$s=($page-1)*20;
select * from 表 order by id desc limit $s,20;
意思就是在本页第二次输出的时候从第21条开始!!
就是这样!!
$onelist="15";//每页显示数量
//获取GET
if(isset($_GET['cp'])){
$cp=$_GET['cp'];
$limit=($_GET['cp']-1)*$onelist;
}
else{
$cp="1";
$limit="0";//查询开始记录数
$query="select * from table limit $limit,".$onelist;然后算出下一页(上一页,最后页)的page值是多少基本上都是这样了
自己试着写一下就明白了
不知道能不能看懂。那个page,是url穿过来的,_get的作用就是得到它。
我的 代码是这样的 :
<?
$page = $_GET['p'];
if($page < 1) $page = 1;
echo $page;
echo "<a href=?p=";?><? echo $page+1;?><? echo ">下一页</a>";
echo "<a href=?p=";?><? echo $page-1;?><? echo ">上一页</a>";
echo $p;
?>
在地址栏中输入:文件名.php或 文件名.php?p=3 就可以了 但echo "<a href=?p='.($page+1).'>下一页</a>";会出错,错在哪里?
班门弄斧,多多指教!
echo "<a href=?p=";?><? echo $page-1;?><? echo ">上一页</a>";写的有够乱的....不能弄成一行吗?....晕..你自己看着也不方便呀.下一页出错,可能是你的href里的地址出错了,查一下看看.
<html><head><title>PHP分页</title></head><body><?
$gPageSize= 50; //每页显示的记录数$hostname = "localhost"; //mysql Server$dbuser = "root"; //用户名$dbpasswd = ""; //密码//连接数据库$id = mysql_connect($hostname,$dbuser,$dbpasswd) or die("无法连接数据库服务器!");//选择数据库$db = mysql_select_db("数据库名",$id) or die("无法连接数据库!");$query = "select * from 表名";//执行查询语句$rresult = mysql_query($query) or die("无法执行SQL:$query");//$page变量标示当前显示的页if(!isset($page)) $page=1;if($page==0) $page=1;//得到当前查询到的纪录数 $nNumRowsif(($nNumRows= mysql_num_rows($rresult))<=0){echo "<p align=center>没有纪录";exit;};//得到最大页码数MaxPage$MaxPage = (int)ceil($nNumRows/$gPageSize);if((int)$page > $MaxPage)$page=$maxPage;?><table align="center" width="80%" border=0> <tr><td><? echo "<font size=2>第
$page 页,共 $MaxPage 页</font>";?></td><td></td></tr></table><table align="center" width="80%" border="1" cellspacing="0" cellpadding="4" bordercolorlight="#CC9966" bgcolor="#00F2EE" bordercolordark="#FFFFFF" class="LZH"><tr bgcolor="#F7F2ff" style="font-size:14.8px;font-weight:bold"><?//显示表格头for($iCnt = 0; $iCnt < mysql_num_fields($rresult); $iCnt++){echo "<td>".mysql_field_name($rresult,$iCnt)."</td>" ;}?></tr><?//根据偏移量($page - 1)*$gPageSize,运用mysql_data_seek函数得到要显示的页面if( mysql_data_seek($rresult,($page-1)*$gPageSize) ){$i=0;//循环显示当前纪录集for($i;$i<$gPageSize;$i++){echo "<tr style=\"font-size:12px\">";//得到当前纪录,填充到数组$arr;$arr= mysql_fetch_row($rresult);if($arr){//循环显示当前纪录的所有字段值for($nOffSet = 0;$nOffSet < count($arr);$nOffSet++){echo "<td>".$arr[$nOffSet]."</td>";}}echo "</tr>";}}?></table><br><hr size=1 width=80%><div align=center style="font-size:12px"><?//首页和上一页的链接if( $nNumRows>1 && $page>1){$prevPage=$page-1;echo " <a href=$PHP_SELF?page=1>首页</a> ";echo " <a href=$PHP_SELF?page=$prevPage >上一页</a> ";}//下一页和末页的链接if( $page>=1 && $page<$MaxPage){$nextPage= $page+1;echo " <a href=$PHP_SELF?page=$nextPage >下一页</a> ";echo " <a href=$PHP_SELF?page=$MaxPage >末页</a> ";}?></div></body></html>