查询一个数据库,然后把查询到的记录在一个表格里输出。
  很奇怪的是,当查询记录比较多的时候,比如100条数据,在页面上就只显示50条,然后就不显示了。
  如果数据量比较少, 就可以全部显示。  
  这是什么原因造成的呢?

解决方案 »

  1.   

    select count(*) from tablename 查一下你一共在表里能取出多少条记录。然后在找问题原因 
      

  2.   

    <?php 
    include_once("include.php");
    $db2 = new newquery($DbUseDatabase,$DbMHost,$DbMUser,$DbMPass);
    $sql1="select * from {技术文件登记} where [分类]='公司机械类' and [受控日期] like '%".$rq."%'";
    $db->query($sql1);
    ?> 
    <html> 
    <head>
    <style type="text/css">
    td,th   {font-size:12px;} 
    </style>
    </head>
    <body> 
    <p align="center" ><b>技术资料发放清单(公司机械类)</b></p><table border="1" align="center" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111"  > 
    <tr>
        <td rowspan="2" height="25" bgcolor="#DDDDDD">序号</td>
    <td rowspan="2" height="25" bgcolor="#DDDDDD">类型</td>
    <td rowspan="2" height="25" bgcolor="#DDDDDD">文件类别</td>
        <td rowspan="2" height="25" bgcolor="#DDDDDD">型号</td>
        <td rowspan="2" height="25" bgcolor="#DDDDDD">文件名称</td>
        <td rowspan="2" height="25" bgcolor="#DDDDDD">文件内容</td>
        <td rowspan="2" height="25" bgcolor="#DDDDDD">版本</td>
    <td rowspan="2"  height="25" bgcolor="#DDDDDD">张数</td>
    <td rowspan="2"  height="25" bgcolor="#DDDDDD">更改通知</td>
    <td colspan="17" align="center" height="25" bgcolor="#DDDDDD">发放部门</td>
    </tr>
    <tr>
    <td  height="25" bgcolor="#DDDDDD">工厂工程</td>
        <td  height="25" bgcolor="#DDDDDD">工厂品质</td>
        <td  height="25" bgcolor="#DDDDDD">电子部</td>
        <td  height="25" bgcolor="#DDDDDD">机械部</td>
        <td  height="25" bgcolor="#DDDDDD">工厂PMC</td>
        <td  height="25" bgcolor="#DDDDDD">仓管部</td>
    <td  height="25" bgcolor="#DDDDDD">认证组</td>
        <td  height="25" bgcolor="#DDDDDD">客服中心</td>
    <td  height="25" bgcolor="#DDDDDD">国际业务</td>
        <td  height="25" bgcolor="#DDDDDD">质量标准化部</td>
    <td  height="25" bgcolor="#DDDDDD">公司品质</td>
        <td  height="25" bgcolor="#DDDDDD">中研部</td>
    <td  height="25" bgcolor="#DDDDDD">公司PMC</td>
        <td  height="25" bgcolor="#DDDDDD">装备设计部</td>
    <td  height="25" bgcolor="#DDDDDD">工程中心</td> 
    <td  height="25" bgcolor="#DDDDDD">资料组</td> 
    <td  height="25" bgcolor="#DDDDDD">工厂文控</td>
    <td  height="25" bgcolor="#DDDDDD">公司文控</td>
    </tr>
    <?php $i=1; while ($db->next_record()){?>
    <tr> 
    <td><?php echo $i; $i++;  $jlh=$db->f("[记录号]"); ?></td>
    <td><?php echo $db->f("[类型]"); ?></td> 
    <td><?php echo $db->f("[文件类别]"); ?></td>
    <td><?php echo $db->f("[型号]"); ?></td>
    <td><?php echo $db->f("[文件名称]"); ?></td>
    <td><?php echo $db->f("[文件内容]"); ?></td>
    <td><?php echo $db->f("[版本]"); ?></td>
    <td><?php echo $db->f("[张数]"); ?></td>
    <td><?php echo $db->f("[更改通知]"); ?></td>
    <td>
    <?php
    $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='01工厂工程'";    $db2->query($strsql); if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td>
    <td>
    <?php

        $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='02工厂品质'";
        $db2->query($strsql); if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td>
    <td>
    <?php    $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='03电子部'";
        $db2->query($strsql); if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td><td>
    <?php

        $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='04机械部'";
        $db2->query($strsql); if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td><td>
    <?php

        $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='05工厂PMC'";
        $db2->query($strsql); if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td><td>
    <?php

        $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='06仓管部'";
        $db2->query($strsql); if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td><td>
    <?php    $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='11认证组'";
        $db2->query($strsql); if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td><td>
    <?php

        $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='16客服中心'";
        $db2->query($strsql); if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td><td>
    <?php

       $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='17国际业务'";
        $db2->query($strsql); if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td><td>
    <?php

       $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='18质量标准化部'";
        $db2->query($strsql); if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td><td>
    <?php

        $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='22公司品质'";
        $db2->query($strsql); if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td><td>
    <?php    $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='23中研部'";
        $db2->query($strsql); if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td><td>
    <?php

       $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='25公司PMC'";
       //echo $strsql;
       $db2->query($strsql);
       if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td><td>
    <?php

         $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='29装备设计部'";
        $db2->query($strsql); if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td><td>
    <?php

         $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='31工程中心'";
        $db2->query($strsql); if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td>
    <td>
    <?php

         $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='45资料组'";
        $db2->query($strsql); if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td><td>
    <?php

        $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='28工厂文控'";
        $db2->query($strsql); if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td><td>
    <?php

        $strsql= "select * from {技术文件发放} where [记录号]='".$jlh."' and [发放部门]='28公司文控'";
        $db2->query($strsql); if($db2->next_record())
        { 
        echo  $db2->f("[发放份数]");
    }
    ?>
    </td></tr>
    <?php } ?>
    </table> 
    </body> 
    </html>
      

  3.   

    代码太长,我没有看全,但大概我决得应该是类循环的问题
    对于MYSQL操作,最终会有一个标识符,而while寻环就是依据是否返回FALSE,这样,可能就会有冲突,
    比如,第一次SQL 查询A
    while($rs = next_record())
    是正常的,在A查询中,循环查询B,即while($db->next_record())

         while($db->next_record())
        {
         }

    这样就简单明了,都是在执行next_record,那么,当内部的循环结束后,是不是会影响到外部的结果呢?
    即B查询循环到最后返回的是FALSE己经结束,那么A循环是不是也被误认为结束了?因为不了解你的db类,所以以上是个人观点,仅供参考!
      

  4.   

    如果能count正确的记录数,那肯定是你的显示数据的问题。
    你在好好找找。