ホームページ >バックエンド開発 >PHPチュートリアル >大家看看小弟我的分页为什么不好用

大家看看小弟我的分页为什么不好用

WBOY
WBOYオリジナル
2016-06-13 10:05:27910ブラウズ

大家看看我的分页为什么不好用?
$sql_AZSQD= "select   *   from   s_QZJX_AZSQD   where   ejdwbm= '$coid '   and   substr(sblbdm,1,2)= '$id '   order   by   sqdbh   desc ";

if   ($page== " ")     {   $page   =   0;   }
$count=10;           //我现在暂时把记录总数写成10
$i=$count-1;  
$msgnum=2;  
$start   =   $page   *   $msgnum;
$end   =   $start   +   $msgnum;
if   ($end   >   $i)   $end=$i;
$totalpage=$i/$msgnum;
if   ($page> $totalpage)     {   $page   =   $totalpage;   }
if   ($totalpage> round($totalpage)){$totalpage=round($totalpage)+1;}
else{$totalpage=round($totalpage);}
if   ($page> 0){$row=$page*$msgnum   +   1;}
if   ($row== " ")   {$row=1;}
?>

for   ($i=$start;   $i {
        //这里是读取记录
}


$pagestr= " ";
if   ($page> 0)   $pagestr=$pagestr. " 上页   -   ";
$pagestr=$pagestr. "[第   ";
for   ($i=0;   $i     if   ($i!=$page)   {
          $pagestr   =   $pagestr. " ".($i+1). "   ";
    }   else{
          $pagestr   =   $pagestr. " ".($i+1). "   ";
    }
}
$pagestr=$pagestr. "   页]   ";
if   ($page 下页   ";
echo     "共   ".$totalpage. "   页   ".$pagestr;

现在我的分页别的都好用,只是在第一页就把所有数据全读了出来,怎么能把数据分段呢?我不能用limit,因为是对oracle操作,我只想用这个for   ($i=$start;   $i
------解决方案--------------------
用adodb把,十分方便
------解决方案--------------------
select * from (select rownum rm,s_QZJX_AZSQD.* from s_QZJX_AZSQD) where s_QZJX_AZSQD.ejdwbm= '$coid ' and s_QZJX_AZSQD.substr(sblbdm,1,2)= '$id ' and rm> =1 and rm ------解决方案--------------------
不通用的东西,不要用!

如果你的是MySQL,请使用传说中最前的分页功能——limit!!

如果是MSSQL活着其他的数据库,请使用镶嵌select语句分页!保证你用的爽!

嘿嘿,具体方法就是不公布,就是不公布~等我写完函数之后,一块贴出来吧
------解决方案--------------------
"第一页就把所有数据全读了出来 "你如果存的是数组计算开始结束的下标不就好了
------解决方案--------------------
$totalpage=$i/$msgnum;
if ($page> $totalpage) { $page = $totalpage; }
if ($totalpage> round($totalpage)){$totalpage=round($totalpage)+1;}
else{$totalpage=round($totalpage);}

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

这里也有问题$page 会出现小数,我会这么写:

$totalpage=ceil($i/$msgnum);
if ($page> $totalpage) { $page = $totalpage; }

==================================

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。