PHP分页原理及代码(新手学习)

最近开始学习PHP,数据库增删改查完以后,开始做分页。在网上搜了下原理,大致了解了下。现在开始正式做。下面给大家说下分页原理。

分页原理:分页说白了,也就是从数据库中的数据输出到浏览器中,但是呢,不是全部输出,而是输出我们想要输出的行数。当然从数据库中输出一定要用到SQL语句。其中,我们只需要多了解一个关键字  limit 。
limit怎么用呢? select * from 表名 limit 0 ,10 这句话什么意思呢? 0是以0为起点,后面的10即10条数据,那么10为起始页呢,显示到第20条数据。则是 limit 10,10;可不是limit 10,20; 后面的10即是显示的条数。
limit 0,10;从0开始 输出10条数据(0-9)
limit 10,10;从10开始,输出10条数据(10-20)
limit 20,10;从20开始,输出10条数据(20-30)
分页,意味着页码的不同。所以应该是个变量。由上边我们可以总结一个公式

重点内容公式
select * from 表名 limit (第几页-1)*(一页显示条数),一页显示条数

公式需要理解记忆,不需要死记硬背。

说这么多 不如先说下 写代码思路

1,链接数据库
2,选择要显示内容的表
3,获取Page值,这个值我们可以先假定有,用到isset()函数且 _GET[‘page’]判断,当然是这个page值肯定没有,所以我们可以定义为page=1,也就是第一页。
4,定义多少页,每页显示多少条数
5,定义SQL语句(基本上做分页的都会数据库的select 语句,其余的就不多说了)
select * from persons limit (第几页-1)*(一页显示条数),一页显示条数
6,PHP中输出数据库内容语句
7,输出 首页,上一页,下一页,尾页 字样,在这些字上设置超链接,并进行传值。
8,关闭数据库


//你需要修改数据库和表名,代码是我定义的表名和数据库
<?php
//链接数据库
$con=mysql_connect("localhost","root","root");
//选择要操作的数据库
mysql_select_db("mydatabase2",$con);


//获取定义的$page值,有的话 为当前页,没有的话  则为1 
$page=isset($_GET['page'])?intval($_GET['page']):1;

//定义多少页 $total  每页显示的条数$num
$sql_select="select * from persons";
echo "<table border='2' >
        <tr>
            <th>FirstName</th>
            <th>LastName</th>
            <th>Age</th>
        </tr>";


$result=mysql_query($sql_select);
$num=2;
$total=mysql_num_rows($result);

$PG=ceil($total/$num);



$page_exe=($page-1)*$num;//定义变量,定义起始位置


//定义SQL语句  select * from persons limit (第几页-1)*(一页显示条数),一页显示条数
//$sql=""select * from persons ".($page-1)*$num.",".$num";


$result1=mysql_query("select * from persons limit $page_exe ,$num ");




while($row=mysql_fetch_array($result1)){
    echo "<tr>";
    echo "<td>".$row['FirstName']."</td>";
    echo "<td>".$row['LastName']."</td>";
    echo "<td>".$row['Age']."</td>";
    echo "</tr>";



}

echo "</table>";


$nextPg=$page+1;//下一页,并进行判断页码值是否超过定义的总页数

if($nextPg>=$PG){
    $nextPg=$PG;
}

$upPg=$page-1;//上一页,并进行判断是否在正确范围内,若不判断,则Page的值可以超过定义的页数
if($upPg==0){
 $upPg=1;
}

//进行传值

echo    "<a href='Deom.php?page=1' >首页</a>"."  ";
echo  "<a href='Deom.php?page=$upPg'>上一页</a>".  " " ;
echo "<a href='Deom.php?page=$nextPg'>下一页</a>".  "  ";
echo "<a href='Deom.php?page=$PG    '>尾页</a>  "."  ";
//关闭数据库
mysql_close($con);

?>

刚学会用博客,语言组织能力有点小差劲,希望不要介意。
人最大的优点就是不断的学习。学习才能进步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值