前言:
最近真的是日了狗了,咱去个肯德基干点活,早上一觉睡到7点,起来经理已经给打了10个电话了,尼玛后厨没人!果断7点去了被奴役,让我去擦通风口,然后我果断擦WC,由于我为人正直,我果断要求去擦女厕三个通风口~为了社会公平正义我还特意去看了看果断没有摄像头~。
找了个扯淡的理由,我今天从7点干活到晚上6点,累成狗了。匆匆看了点PHP赶教程来了,不赶教程还有问责的 汗~ 感谢 火狼婆婆 。不赶教程的原因是我想留下点时间把以前的内容实践一下,毕竟PHP的一年自学成功率只有20%。
最近知道宋稳同学高考江苏 二百来分 ,快赶上我的山东 444 分了。恭喜,同喜了。我特意去咨询了一流大学的哥们,计算机无非就学个C++,java入门毛的,老师连个开发经验都没有~ 复旦一年网站被黑100多次完全不是传说。好了废话不多说进入我今天的笔记吧。
PHP+MYSQL分页原理:
我们要实现分页功能,无非就是把SQL中的数据查询出来,每页用limit限制一下条数罢了。调用一个sql排序结果集而已。这里我们需要学习几个语法和知识的补充。
相关函数语法知识补充:
1.SQL查询语法(数据库MySQL基础增删改查)里的limit语句,EX: select * from table limit 0,10 //显示前10条
select * from table limit 10,10 //取11条至20条信息 selece * from table limit 20,10 //21到30条记录
从以上内容可以总出来分页公式(数学后遗症):(当前页数-1)×每页条数,每页条数
select * from table limit(当前页数-1)*每页条数,每页条数
2.parse_url();这是一个分析URL函数,它能够把URL中的信息解析为关联数组的形式。给你们举个例子吧。
$a=parse_url("http://username:password@cyanprobe.com/path?arg=value#anchor"); print_r($a): //此时页面输出 Array([scheme] => http [host] => cyanprobe.com //主机 [user] => username //用户名 [pass] => password //密码 [path] => /path //输出路径 [query] => arg=value [fragment] => anchor )
3.预定义服务器变量$SERVER[“request_uri”]函数。注意,所有$SERVER开头的函数都叫做预定义服务器变量。request_uri函数的作用获取当前URI,也就是除域名外完整的地址。举个例子。
当前页为http://www.cyanprobe.com/1622.html echo $SERVER["request_url"] ; 结果为 /1622.html
分页制作:
<?php include("connect.php");//链接数据库 $pagesize=5;//设置每页显示条数 $url=$_SERVER["REQUEST_URL"];//获得URL $url=parse_url($url);//分析URL $url=$url[path];//获取路径(这里可以试试print_r) $num1=mysql_query("select * from `test`"); $num=mysql_num_rows($num1); //统计数据库中记录数量 if($_GET[page]){ //得到当前页面 $pageval=$_GET[page]; $page=($pageval-1)*$pagesize; //分页公式上部分 $page.=','; } if($num > $pagesize){ if($pageval<=1)$pageval=1; echo "共 $num 条". " <a href=$url?page=".($pageval-1).">上一页</a> <a href=$url?page=".($pageval+1).">下一页</a>"; } echo $SQL="SELECT * FROM `test` limit $page $pagesize "; //分页公式下部分 $query=mysql_query($SQL); while($row=mysql_fetch_array($query)){ echo "<hr><b>".$row[name]." | ".$row[sex]; //输出 }
我去,你一定是看不懂,因为每个大牛的代码书写逻辑是完全不同的,这位一定有着很长时间的开发经验,我实践了半天终于弄清他的流程了。画一个小图,方便你们也理解下。
后记:
实话说,让我自己单独写可能写不出来,我自己写了下看了3个小时没找出错误,注意get当前页那里,逻辑性非常强,还有分页公式下半部分没有“,”分隔是因为上面我$page拼接了一个“,”。这是原生的PHP100大神写的代码,所以对于新手来说理解是需要时间的。