这是我写的分页。但是有错误哦,比如我点末页后再点上一页,她还是在这一页,我点了首页再点下一页之后也是这个情况,求教!$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 < $num){
$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 ("<center>");
//分页显示判断部分
if ($start == 0 and $pagesize < $num){
print ("<span style='font-size: 9pt'>【首页】【上页】
<a href ='pl.list.transaction.php?flag=1&start=$start'>【下页】</a>
<a href ='pl.list.transaction.php?start=$lastpage'>【末页】</a></span>");
}elseif ($start >= $num-$pagesize and $pagesize < $num){
print ("<span style='font-size: 9pt'>
<a href ='pl.list.transaction.php?start=0'>【首页】</a>
<a href ='pl.list.transaction.php?flag=2&start=$start'>【上页】</a>
【下页】【末页】</span>");
}elseif ($pagesize >= $num ){
print ("<span style='font-size: 9pt'>【首页】【上页】【下页】【末页】</span>");
}else{
print ("<span style='font-size: 9pt'>
<a href ='pl.list.transaction.php?start=0'>【首页】</a>
<a href ='pl.list.transaction.php?flag=2&start=$start'>【上页】</a>
<a href ='pl.list.transaction.php?flag=1&start=$start'>【下页】</a>
<a href ='pl.list.transaction.php?start=$lastpage'>【末页】</a></span>");
}
$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 < $num){
$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 ("<center>");
//分页显示判断部分
if ($start == 0 and $pagesize < $num){
print ("<span style='font-size: 9pt'>【首页】【上页】
<a href ='pl.list.transaction.php?flag=1&start=$start'>【下页】</a>
<a href ='pl.list.transaction.php?start=$lastpage'>【末页】</a></span>");
}elseif ($start >= $num-$pagesize and $pagesize < $num){
print ("<span style='font-size: 9pt'>
<a href ='pl.list.transaction.php?start=0'>【首页】</a>
<a href ='pl.list.transaction.php?flag=2&start=$start'>【上页】</a>
【下页】【末页】</span>");
}elseif ($pagesize >= $num ){
print ("<span style='font-size: 9pt'>【首页】【上页】【下页】【末页】</span>");
}else{
print ("<span style='font-size: 9pt'>
<a href ='pl.list.transaction.php?start=0'>【首页】</a>
<a href ='pl.list.transaction.php?flag=2&start=$start'>【上页】</a>
<a href ='pl.list.transaction.php?flag=1&start=$start'>【下页】</a>
<a href ='pl.list.transaction.php?start=$lastpage'>【末页】</a></span>");
}
没有<a>标签,点了当然没反应
应在新的 $start 产生后执行控制逻辑太复杂,只需传递一个期望显示的页号就可以了。建议调整一下
$perNum = 10;
$offset = max((($page-1) * $perNum), 0);//用于sql
$vpage = page($total,$page,$perNum, $url);你自己想一想page怎么实现。
痛并快乐着!加油吧,兄弟!