> 백엔드 개발 > PHP 튜토리얼 > 大家看看小弟我的分页为什么不好用

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

WBOY
풀어 주다: 2016-06-13 13:38:45
원래의
1019명이 탐색했습니다.

大家看看我的分页为什么不好用?
$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; }

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿