Home >Backend Development >PHP Tutorial > 小弟我的分页,但是有异常,帮忙看看

小弟我的分页,但是有异常,帮忙看看

WBOY
WBOYOriginal
2016-06-13 13:28:15818browse

我的分页,但是有错误,帮忙看看
这是我写的分页。但是有错误哦,比如我点末页后再点上一页,她还是在这一页,我点了首页再点下一页之后也是这个情况,求教!

$sql = "select * from pl_transaction_sun";
$query = mysql_query($sql);
$num = mysql_num_rows($query);

$pagesize = 3; 
$start = $_GET['start']; 
$flag = $_GET['flag']; 

//判断$start是否有值 
if ($start == null) { 
$start = 0; 


//判断$flag是否有值 
if ($flag == null) { 
$flag = 0; 


$sql1 = "select * from pl_transaction_sun limit $start, $pagesize";
$query1 = mysql_query($sql1);
//$num1 = mysql_num_rows($query1);

//判断标志位以确定$start的值 
if ($flag == 1 and $start+$pagesize $start = $start+$pagesize; 

if ($flag == 2 and $start+$pagesize > 0){ 
$start = $start-$pagesize; 
}

//最后一页START标识 
if (($num % $pagesize) != 0){ 
$lastpage = $num - ($num % $pagesize); 
}else{ 
$lastpage = $num - $pagesize; 

 
//判断页数以及当前页代码 
$pagenum = ceil($num / $pagesize); 

if ($start == 0){ 
$nowpage = 1; 
}else{ 
$nowpage = ($start / $pagesize) + 1; 

print ("

");
//分页显示判断部分 
if ($start == 0 and $pagesize print ("【首页】【上页】
【下页】
【末页】
"); 
}elseif ($start >= $num-$pagesize and $pagesize print ("
【首页】
【上页】
【下页】【末页】
"); 
}elseif ($pagesize >= $num ){ 
print ("【首页】【上页】【下页】【末页】"); 
}else{ 
print ("
【首页】
【上页】
【下页】
【末页】
"); 
}  


------解决方案--------------------
$query1 = mysql_query($sql1);
应在新的 $start 产生后执行

控制逻辑太复杂,只需传递一个期望显示的页号就可以了。建议调整一下

------解决方案--------------------
对于一个初学者,神马都是浮云……
------解决方案--------------------
分页其实很简单,定好一页显示多少条,然后计算所有条数
------解决方案--------------------
分页是web程序必须跨越的一个小沟。花点时间是值得的。

因为使用地方太多,所以需要封装成一个函数或类中的一个方法
PHP code

$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$perNum = 10;
$offset = max((($page-1) * $perNum), 0);//用于sql
$vpage = page($total,$page,$perNum, $url); <div class="clear">
                 
              
              
        
            </div>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn