我有一个简单的表,一个查询的回声结果,以及一些PHP替换表中行的颜色(不能使用CSS3,因为我需要它与IE8一起工作)和我拥有的,作品。但是,在某些情况下,没有返回任何记录。修改代码的最佳方法是什么,这样如果没有要显示的记录,它只是说“无”。或者这可能通过mysql查询而不是......
<?php $count = 0; do { ?>
<tr>
<?php $count++;?>
<td colspan = "5" class="<?php echo (($count % 2) == 0) ? 'even' : 'odd'; ?>">
<?php echo $row_RecordSet1['result']; ?>
</td>
</tr>
<?php } while ($row_RecordSet1 = mysql_fetch_assoc($RecordSet1)); ?>`
答案 0 :(得分:0)
试着坚持你的编码风格,我想我会这样做......
<?php $count = 0; ?>
<?php while ($row_RecordSet1 = mysql_fetch_assoc($RecordSet1)) { ?>
<?php $count++;?>
<tr>
<td colspan="5" class="<?php echo (($count % 2) == 0) ? 'even' : 'odd'; ?>"><?php echo $row_RecordSet1['result']; ?></td>
</tr>
<?php } ?>
<?php if ($count == 0) { ?>
<tr>
<td colspan="5">No results found.</td>
</tr>
<?php } ?>
答案 1 :(得分:0)
首先,我建议您使用while
循环,您仍然可以维护$count
变量。
$count = 0;
while($row_RecordSet1 = mysql_fetch_assoc($RecordSet1)){
//this way, if the recordset is empty -- the loop will never run
++$count;
//your normal processing continues here
}
if($count === 0){
//there was no content or result from the database
echo '<tr><td>None</td></tr>';
}
我认为应该解决你的问题。
答案 2 :(得分:0)
在显示结果之前,您可以使用mysql_num_rows检查行数(BTW,请仔细阅读有关mysql扩展名的红色警告!)
if(mysql_num_rows($RecordSet1) == 0) {//no results
//display none
} else {
//display your results
}