请问一下我的php分页为什么不好使,只能每页显示一条数据啊<?php
function getcount($totalnum,$pagesize)
{
if($totalnum==0){
//总数为0
$pagecount=0;
}

else{
if($totalnum%$pagesize==0){
//恰好整除
$pagecount=$totalnum/$pagesize;
}
else{
if($totalnum/$pagesize==0){
//页含量大于总量
$pagecount=1;
}
else{
$pagecount=floor($totalnum/$pagesize)+1;
}
}
}
return $pagecount;
}

$sql1="select * from biao1";
$mqq=mysql_query($sql1,$conn);
$pagesize=5;//每页5条记录
$totalnum=mysql_num_rows($mqq);//总记录数
$pagecount=getcount($totalnum,$pagesize);//显示几页
//计算出$start为mysql_data_seek函数定位起始点
if(!isset($_REQUEST['f']))
{
$start=0;
}
elseif($_REQUEST['f']>$pagecount)
{
$start=($pagecount-1)*$pagesize;
}
elseif($_REQUEST['f']<=0)
{
$start=0;
}
else{
$start=($_REQUEST['f']-1)*$pagesize;
}
//输出分页结果

for($i=0;$i<$pagesize;$i++)
$yemian="guanlixitong(qianye).php";
{

mysql_data_seek($mqq,$start++);//每次显示之后,定位点后移一位
$row=mysql_fetch_array($mqq);

echo $row[0].'&nbsp;&nbsp;&nbsp;&nbsp;';
echo $row[1].'&nbsp;&nbsp;&nbsp;&nbsp;';
echo $row[2].'&nbsp;&nbsp;&nbsp;&nbsp;';
echo $row[3].'&nbsp;&nbsp;&nbsp;&nbsp;';
echo $row[4].'&nbsp;&nbsp;&nbsp;&nbsp;';
echo $row[5].'&nbsp;&nbsp;&nbsp;&nbsp;';
echo $row[6].'&nbsp;&nbsp;&nbsp;&nbsp;';
echo $row[7].'&nbsp;&nbsp;&nbsp;&nbsp;';
echo $row[8].'&nbsp;&nbsp;&nbsp;&nbsp;';
echo $row[9].'&nbsp;&nbsp;&nbsp;&nbsp;';
echo $row[10].'&nbsp;&nbsp;&nbsp;&nbsp;';
echo $row[11].'&nbsp;&nbsp;&nbsp;&nbsp;';
echo $row[12].'&nbsp;&nbsp;&nbsp;&nbsp;'."<br>";
if($start==$totalnum)
{
break;
}
}
//显示分页导航栏

if($pagecount==0)
{
echo"暂时没有数据";
exit;
}
else
{
for($i=1;$i<=$pagecount;$i++)
{
echo "<a href=$yemian?f=".$i.">".$i."</a>&nbsp;&nbsp;";
}

echo "<form action=$yemian><input size=3 name=f><input type=submit value=go></form>";
}


?>

解决方案 »

  1.   

    while($row=mysql_fetch_array($mqq))
    试试读取写法
      

  2.   

    while($row=mysql_fetch_array($mqq))
    试试读取写法
      

  3.   

    看得头晕,你应该简化一下你的代码。还有这里:
    for($i=0;$i <$pagesize;$i++) 
    $yemian="guanlixitong(qianye).php"; 
    { mysql_data_seek($mqq,$start++);//每次显示之后,定位点后移一位 
    $row=mysql_fetch_array($mqq); echo $row[0].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[1].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[2].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[3].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[4].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[5].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[6].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[7].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[8].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[9].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[10].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[11].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[12].'&nbsp;&nbsp;&nbsp;&nbsp;'." <br>"; 
    if($start==$totalnum) 

    break; 


    这句出现:for($i=0;$i <$pagesize;$i++) 
    $yemian="guanlixitong(qianye).php"; ,下面的循环输出应该是不可能的~
      

  4.   

    看得头晕,你应该简化一下你的代码。还有这里:
    for($i=0;$i <$pagesize;$i++) 
    $yemian="guanlixitong(qianye).php"; 
    { mysql_data_seek($mqq,$start++);//每次显示之后,定位点后移一位 
    $row=mysql_fetch_array($mqq); echo $row[0].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[1].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[2].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[3].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[4].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[5].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[6].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[7].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[8].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[9].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[10].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[11].'&nbsp;&nbsp;&nbsp;&nbsp;'; 
    echo $row[12].'&nbsp;&nbsp;&nbsp;&nbsp;'." <br>"; 
    if($start==$totalnum) 

    break; 


    这句出现:for($i=0;$i <$pagesize;$i++) 
    $yemian="guanlixitong(qianye).php"; ,下面的循环输出应该是不可能的~
      

  5.   

    http://home.lampbrother.net/space.php?uid=4101&do=blog&id=795
    http://home.lampbrother.net/space.php?uid=4101&do=blog&id=794
    到这里看看
    或许有点用
      

  6.   

    呵呵,看看我自己PHP分页函数代码,www.leapsoul.cn
      

  7.   

    真的看的头晕,而且,我看了一下,你的这个分页怎么是把全部的数据都取出来后再去分页啊?
    这个内存也已经占用了,再分页好象没什么意义了.mysql有分页查询语句:select * from biao1 limit 开始查寻数,显示条数;要是不知道的话,建议上网搜一下,N多实例.