php如何实现分页功能2014-10-18上星期工作中,遇到要处理一段分页的代码!以前是写的很熟练的,可能是懒散的太久了!感觉忘的差不多了。有的知识就是太久不用也会忘记的很快啊!所以经常复习一下以前的知识也是很重要的。所以特地整理出一下分页代码!

效果如上图;在发表框点一下弹出一个框,首先判断用户是否登录,没有登录就弹出登录框,已登录就弹出输入框,输入留言内容,姓名和手机号。当你输入好内容后会在下面显示你的留言内容,前三个为用户最新的留言排序,从第四个起按点赞的数量进行排序。
<!--视图层--><?php$pageIndex = isset($_GET["p"])?$_GET["p"]:0;echo "<script type="text/javascript">var pageindex=".$pageIndex." </script>";?><script type="text/javascript" src="/jquery.js"></script><script type="text/javascript">function loadMore(){ pageindex = pageindex || 0;$.ajax({url:"http://www.*****.com/****/wishingwall?pageindex="+pageindex+"&callback=?",type:"GET",dataType:"jsonp",success:function(d){if(d.code == 200){if(d.font == ""){return;}else{var _html = "";if (pageindex == 0) {var _len=0; if(d.font.length>3){ _len=4;}else{_len=d.font.length;}for(var j = 0; j<_len; j++){var _d = d.font;_html += "<div class="wallCenter" ><div class="items"><div class="style"+random(1, 5)+"">";_html += "<div class="content">" +_d[j].content +"</div><span class="jianjue"></span><p class="author">";_html += "<span class="zanImg" style="cursor:pointer"></span><span class="username">" +_d[j].username + "</span>";_html += "<span class="zanColor">(<span id=""+_d[j].id+"" class="praisenumer"+_d[j].id+"">" +_d[j].praisenumer +"</span>赞)</span></p></div></div></div>"; }}if(d.data != "") {var _len=0; if(d.data.length>5 && pageindex==0){ _len=5;}else{_len=8;}for(var j = 0; j<_len; j++){var _s = d.data;_html += "<div class="wallCenter" ><div class="items"><div class="style"+random(1, 5)+"">";_html += "<div class="content">" +_s[j].content +"</div><span class="jianjue"></span><p class="author">";_html += "<span class="zanImg" style="cursor:pointer"></span><span class="username">" +_s[j].username + "</span>";_html += "<span class="zanColor">(<span id=""+_s[j].id+"" class="praisenumer"+_s[j].id+"">" +_s[j].praisenumer +"</span>赞)</span></p></div></div></div>"; }} $(".wallWrap").text(""); <!--把留言写入--> $(".wallWrap").html(_html).masonry({itemSelector: ".wallCenter"});var numberthis = parseInt(d.page) + 1;thisPage(d.count, numberthis);$(".zanImg").each(function(index, elm){var $elm = $(elm);$elm.click(function(){var thisid = $elm.parent("p").find("span.zanColor span").attr("id");$.ajax({url:"http://www.*****.com/****/addpraisenumer/"+thisid+"?callback=?",type:"GET",dataType:"jsonp",success:function(d){if(d.code == 200){$(".praisenumer"+thisid).text(d.praisenumer);} else {return;}}});})})}}else{return; } } }); }function thisPage(count, curPage) {count = count || 1;count = Number(count); <!--定义记录数-->curPage = curPage || 1;curPage = Number(curPage);<!--当前页-->var per = 8;per = Number(per);var showPages = 0;showPages = Number(showPages);var showEnd = 0;showEnd = Number(showEnd);if (count%per > 0) {<!--定义总的页数-->var pages = (parseInt(count/per) + 1);} else {var pages = parseInt(count/per);}var str = "<span class="loadPage">"+curPage+"/"+ pages +" 页</span>";str += "<span class="totalPage"> 共 "+ pages +" 页</span>"if(curPage != 1){ str += "<span class="firstPage" data-page="1"><a href="http://*****.*****.com/thanksgiving?p=0#content">首页</a></span>"}if(curPage - 1 > 0){ str += "<span class="prevPage" data-page=""+(curPage-1)+""><a href="http://*****.*****.com/thanksgiving?p="+ (curPage-2) +"#content">上一页</a></span>"}//URL:http://www.bianceng.cn/webkf/PHP/201410/45955.htmif(pages <= 5){ showPages = 1; showEnd = pages;}else if(pages - curPage >= 4){ showPages = curPage; showEnd = curPage+4;}else if(pages - curPage < 4){ showPages = pages - 4; showEnd = pages;}for(var i=showPages; i<=showEnd; i++){ if( i == curPage){str += "<a class="page_trigger page_cur" data-page=""+i+"" onclick="javascript:;">"+ i +"</a>"}else{str += "<a class="page_trigger"data-page=""+i+"" href="http://*****.*****.com/thanksgiving?p="+(i-1)+"#content">"+ i +"</a>"}}if(curPage + 1 <= pages){ str += "</span><span class="nextPage" data-page=""+(curPage+1)+""><a href="http://*****.*****.com/thanksgiving?p="+ curPage +"#content">下一页</a></span>";}if(curPage!=pages){ str += "<span class="lastPage" data-page=""+pages+""><a href="http://*****.*****.com/thanksgiving?p="+ (pages-1) +"#content">尾页</a></span>";} $(".page_box").eq(0).html(str);}</script><!--控制层--><?php// 留言板显示public function action_wishingwall(){header("Content-Type: application/x-javascript");$callback = isset( $_GET[ "callback" ] ) ? $_GET[ "callback" ] : "callback";$pageIndex = Arr::get($_GET, "pageindex", 0);$offset = 0;try {$font = DB::select("id", "content", "username", "phone", "userid", "usernumber","praisenumer", "modefied", "created")->from("tmp_***")->order_by("praisenumer", "desc")->limit(3)->fetch_all(); //根据点赞倒序查询$list = " (";foreach($font as $v) {$list.= $v["id"].",";}$list.="0)";$pageSize = 8;if($pageIndex == 0) {$pageSize = 8;} else {$offset = 8+($pageIndex-1)*8;}$rows = DB::select("id", "content", "username", "phone", "userid", "usernumber","praisenumer", "modefied", "created")->from("tmp_*****")->where("id", DB::expr("not in"), DB::expr($list))->order_by("created", "desc")->limit($pageSize)->offset($offset)->fetch_all(); //根据时间倒序查询$count = DB::select("id")->from("tmp_*****")->count_all();$data = array("code"=> 200,"msg" => "Success","page"=> $pageIndex,"count" => $count,"font"=> $font,"data"=> $rows,);} catch (Exception $e) {$data = array("code"=> 3000003,"msg" => "查询异常","data"=> $rows,);}echo $callback."(".json_encode($data).")";exit;}// 点赞加public function action_addpraisenumer($id){header("Content-Type: application/x-javascript");$callback = isset( $_GET[ "callback" ] ) ? $_GET[ "callback" ] : "callback";if (isset($id) && $id) {// 得到系统唯一session_id$session_id = session_id();$result = array(1, time());if (!$this->cacheFilter($session_id, "praise", $result, 10)) {$data = array("code"=> 3000004,"msg" => "10秒之内无法重复提交",);} else {DB::update("tmp_*****")->set(array("praisenumer" => DB::expr(" praisenumer+1 ")))->where("id", "=", $id)->execute();$praisenumer = DB::select("praisenumer")->from("tmp_*****")->where("id", "=", $id)->fetch_one();$data = array("code"=> 200,"praisenumer" => $praisenumer,"msg" => "成功",);}} else {$data = array("code"=> 3000003,"msg" => "非法的操作",);}echo $callback."(".json_encode($data).")";exit;} // 新增留言板public function action_addwishingwall(){header("Content-Type: application/x-javascript");$callback = isset( $_GET[ "callback" ] ) ? $_GET[ "callback" ] : "callback";$content = Arr::get($_GET, "content", "");$username = Arr::get($_GET, "username", "");$phone = Arr::get($_GET, "phone", "");if (empty($content)) {$data = array("code"=> 3000001,"msg" => "留言内容不能为空",);} else {$data = array("content" => $content,"username" => $username,"phone" => $phone,"praisenumer" => 0,"modefied" => time(),"created" => time());try {DB::insert("tmp_*****", array_keys($data))->values(array_values($data))->execute();$data = array("code"=> 200,"msg" => "成功",);} catch (Exception $e) {$data = array("code"=> 3000002,"msg" => "新增失败",);}}echo $callback."(".json_encode($data).")";exit;}?>这一段为php的分页代码。临时在本地服务器上测试的,效果图为简单的这样!