这是一个转贴,我会让它尽可能短。 :(但如果你想更多地了解我的问题,请点击我之前发布的帖子:echo problems in PHP
我的问题是,我的程序产生错误的回声结果:
1.大多数时候它没有在第一次被接受时回显名称和id。(如果有2个文件在mariel 1下,而admin接受了第1个(上传的例子在jan1,2010) ,它应该首先回显名称和id,然后如果第二个被接受(2010年2月2日上传)它应该回显上传的最后一个文件,其中最后上传的文件应该包含名称和id,然后第一个上传文件不能包含名称和ID,只能包含详细信息(您可能会看到链接以查看它的外观)。但是我的第一次接受该文件时没有回显。
2.i认为loop.i中有一个错误设置限制为5告诉程序每页只能输出5个数据,但有时每页输出3或1或任何内容(随机) .i使用计数器跟踪它并发现它仍然循环5次,虽然它没有回应某些东西(意思是我/ superadmin不接受或拒绝任何文件)
我知道这是两个不同的问题,有些人可能会因此受到冒犯,但我相信这两个人有点相互关联。我希望有人可以帮助我,我真的找不到它的错误:(< / p>
答案 0 :(得分:0)
这应该是一个评论,使用问题框可以更好地格式化。
我看了一下,复制了代码并将其加载到我的编辑器中,只是为了看一看。
第31行附近有这个查询:
$sql="SELECT `e`.* FROM `gmdc_employee` `e`
JOIN `gmdc_user` `u` ON ( `u`.`company_id` = `e`.`company_id` )
WHERE (`u`.`company_name` LIKE '%$search%' OR `e`.`employee_name`
LIKE '%$search%' OR `e`.`employee_id` LIKE '%$search%')
AND `e`.`employee_name` LIKE '$listname%' ";
当您使用var_dump($ sql)并通过mysql客户端(即phpmyAdmin)运行该查询时,此查询是否返回正确的结果?
答案 1 :(得分:0)
第178和194行的这些td可以大大简化。
<td class="sub" width="100">';
// echo $emp_id.'-'.$file_employee;
if ($file_employee == $emp_id)
{
# do not display the employee's ID and name
}
else
{
# display the employee's ID and name
echo''.$file_employee.'';
}
echo'
<br />
</td>';
请改用:
<td class="sub" width="100">';
if ($file_employee != $emp_id)
{
echo $file_employee;
}
echo'
<br />
</td>';
注意如何使用!运算符将语句简化了一半以上。此外,在我看来,你不需要评论说你正在显示$ file_employee,它会不必要地混乱你的代码,因为你正在显示它的echo $ file_employee非常明显。具有良好指示性变量名称的清洁代码应易于阅读,无需多次评论。
如果您需要注释来反映显示的变量,最好重命名变量,以便通过查看它就可以清楚了。我还删除了未使用的注释代码,结果从hard to understand at a quick glance
转到fairly intuitive at a glance
我的2美分,如果在第169行,将在几分钟后发布如何调试。
答案 2 :(得分:0)
好的,抱歉有多个答案,但在答案框中格式化更容易。
这一行,169:
if($_SESSION[$fgmembersite->GetLoginSessionVar()] != 'sa'
&& ($file_confir == 'Approved' || $file_confir == 'NotApproved'))
您的查询会返回所有结果,但这是根据这些条件显示结果集的结果。
删除if中仅包含第一个条件的条件,如下所示:
if($_SESSION[$fgmembersite->GetLoginSessionVar()] != 'sa')
使用你的第一个td(空的)来回显$ file_confir的结果
回声&#39; &#39; 。 $ file_confir。 &#39;这将表明这些条件是否存在问题。
如果仍没有完整的预期结果集,您将知道问题出现在您的条款的第一个条件中:
$_SESSION[$fgmembersite->GetLoginSessionVar()] != 'sa'
我的猜测是问题可能是$ file_confir的未设置值或者与你在那里的2不匹配的值。只有调试和耐心才能说明。
好运的朋友。