如果查询返回false,则显示空白表/空白表
问题描述:
如果查询结果为空,那么显示空白表或空白表的正确实现是什么?如果查询返回false,则显示空白表/空白表
**注/条件
没有页面重定向
没有建立两个表,一个用于空结果查询和一个与结果
还是有很多很多更好的方法来做到这一点查询?
这里是一个示例代码:
<?php if(isset($result)){ ?>
<table>
<tr>
<td>Name</td>
<td>Email</td>
</tr>
<?php foreach($result as $key => $data){?>
<tr>
<td><?php echo $data['name'];?></td>
<td><?php echo $data['email_add'];?></td>
</tr>
<?php }?>
</table>
<?php } ?>
这里的问题是,它仍然抛出的foreach循环错误。
答
当查询结果返回false返回一个空数组,而不是
我希望这种帮助,并准备更多的帮助,如果需要的话
答
<?php if(isset($result) && !empty($result)): ?>
<table>
<tr>
<td>Name</td>
<td>Email</td>
</tr>
<?php foreach($result as $data): ?>
<tr>
<td><?php echo $data['name'];?></td>
<td><?php echo $data['email_add'];?></td>
</tr>
<?php endforeach ?>
</table>
<?php else: ?>
No results found.
<?php endif ?>
请注意,我宁愿使用PHP模板的长格式语句,因为它极大地提高了可读性。
答
关于例外:
您是否$results
设置,但你尝试遍历$result
(无拖尾S)。我相信你有一个错字,这可能是问题的一部分。修复错字并确保结果不为空(可能已设置,但仍为空)可能会修复抛出的异常。
关于处处显示着标题:
要无论什么显示标题,只是在循环之前移动if语句。
仅供参考 - 关于格式良好的HTML表:
要声明一个表上的标题,您通常使用的<thead>
元素 - 它从表中的内容分开。一个格式良好的HTML表的一个例子:
<table>
<thead>
<tr>
<th>Name</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>John</td>
<td>[email protected]</td>
</tr>
</tbody>
</table>
在你的情况,我会把环路<tr>
元件周围的<tbody>
内。
谢谢所有回答的人,非常感谢。 – swordfish 2013-02-10 22:52:57