Home  >  Article  >  Backend Development  >  大家看看小弟我的分页为什么不好用

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

WBOY
WBOYOriginal
2016-06-13 10:05:27875browse

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

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

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