PHP 输出问题 查询一个数据库,然后把查询到的记录在一个表格里输出。 很奇怪的是,当查询记录比较多的时候,比如100条数据,在页面上就只显示50条,然后就不显示了。 如果数据量比较少, 就可以全部显示。 这是什么原因造成的呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select count(*) from tablename 查一下你一共在表里能取出多少条记录。然后在找问题原因 <?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> 代码太长,我没有看全,但大概我决得应该是类循环的问题对于MYSQL操作,最终会有一个标识符,而while寻环就是依据是否返回FALSE,这样,可能就会有冲突,比如,第一次SQL 查询Awhile($rs = next_record())是正常的,在A查询中,循环查询B,即while($db->next_record()){ while($db->next_record()) { }}这样就简单明了,都是在执行next_record,那么,当内部的循环结束后,是不是会影响到外部的结果呢?即B查询循环到最后返回的是FALSE己经结束,那么A循环是不是也被误认为结束了?因为不了解你的db类,所以以上是个人观点,仅供参考! 如果能count正确的记录数,那肯定是你的显示数据的问题。你在好好找找。 关于如何通过图片的URL在显示和上传问题 cookie无法完全注销的问题 zendStudio js不能保存中文 利用PHPCMS 本地文件上传到服务器端,链接无法更新 redis偶尔读取不到数据,求助大神! 初学PHP.高手们推荐一本PHP的教材 一段代码在WINDOWS+PHP+MYSQL上运行正常,在LINUX下不正常 高手们,帮帮我:关于mysql和php的配置问题! ASP技术在UNIX(LINUX)机器上是否被支持?ASP与PHP比较起来哪个更好些?哪一个更易于在不同平台间移植? 问一个关于MYSQL链表的问题 关于并发访问页面的问题 iframe 赋值
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>
对于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类,所以以上是个人观点,仅供参考!
你在好好找找。