首页 > 代码库 > 通达OA 一个数据循环输出程序异常调试的案例
通达OA 一个数据循环输出程序异常调试的案例
今天,通达OA二次开发交流群里有一个朋友问这样一个问题,通过代码连接数据库后,可以正常显示数据库中的数据,但是循环输出的代码只能输出单行数据,数据表里实际有多条数据,是什么原因导致循环失败的呢?
<?
include_once("inc/conn.php"); // 如需要连接数据库则包含
include_once("inc/utility_all.php"); // 如需要使用公用函数则包含
include_once("inc/check_type.php"); // 如需要使用类型检验函数则包含
//如已包含auth.php,则无须包含conn.php
?>
<html>
<head>
<title>重要事项交办单</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body style="background-image:url(%E5%B7%A5%E4%BD%9C%E4%BA%A4%E5%8A%9E%E8%B7%9F%E8%B8%AA%E7%B3%BB%E7%BB%9F%E7%95%8C%E9%9D%A2.jpg) ; background-repeat:no-repeat;">
<?php
echo"<table class=\"TableList\" width=\"95%\" style=\"margin-top:345\" align=\"center\"><tr class=\"TableHeader\">\r\n
<td nowrap align=\"center\">编号</td>\r\n
<td nowrap align=\"center\">交办人</td>\r\n
<td nowrap align=\"center\">交办日期</td>\r\n
<td nowrap align=\"center\">承办人</td>\r\n
<td nowrap align=\"center\">要求日期</td>\r\n
<td nowrap align=\"center\">工作内容</td>\r\n
<td nowrap align=\"center\">完成情况</td>\r\n "."</br>";
$query="select*from flow_data_50 order by id desc";
$cursor= exequery(TD::conn(),$query);
//$count=0;
while($ROW=Mysql_fetch_array($cursor));
{
$cunt++;
echo"<tr>";
echo "<td nowrap width=\"40\" align=\"center\">" . $ROW[‘id‘] . "</td>\r\n";
if($count % 30==0){
echo"</tr><tr>";
}
echo "<td nowrap width=\"115\" align=\"center\">" . $ROW[‘data_23‘] . "</td>\r\n ";
echo "<td nowrap width=\"115\"align=\"center\">" . $ROW[‘data_24‘] . "</td>\r\n ";
echo "<td nowrap width=\"115\"align=\"center\">" . $ROW[‘data_30‘] . "</td>\r\n ";
echo "<td nowrap width=\"115\"align=\"center\">" . $ROW[‘data_29‘] . "</td>\r\n ";
echo "<td nowrap width=\"300\"align=\"center\">" . $ROW[‘data_25‘] . "</td>\r\n ";
echo "<td nowrap width=\"150\"align=\"center\">" . $ROW[‘data_26‘] . "</td>\r\n ";
echo "</tr>";
}
echo "</table>";
?>
</body>
</html>
为了快速定位错误代码,可以将非关键代码先删除,只保留数据库连接和最不容易出错的字段代码输出。同时将php调试开关打开。
将代码精简:
<?
include_once("inc/conn.php"); // 如需要连接数据库则包含
?>
<?php
$query="select * from flow_data_50 order by id desc";
$cursor = exequery( $connection, $query );
while($ROW=mysql_fetch_array($cursor));
{
echo "i=" . $ROW[‘id‘] ;
}
?>
最后发现是在while行最后多了一个分号,这样相当于到这行这个循环就结束了,后续根本就没有再循环,大括号也并不和while是一起的了。至此,找到问题原因,问题解决。
通达OA 一个数据循环输出程序异常调试的案例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。