返回“none”字符串,其中不存在结果

时间:2013-05-30 13:45:54

标签: php html-table

我有一个简单的表,一个查询的回声结果,以及一些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)); ?>`

3 个答案:

答案 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
}
相关问题