2013-05-30 30 views
0

我有一个简单的表,查询的是回声效果,有点PHP的是交替行的颜色在表中(因为我需要它不能使用CSS3与IE8合作)以及我的工作。但是,在某些情况下,不会返回任何记录。修改代码的最好方法是什么?如果没有要显示的记录,它只是说“无”。或者是通过MySQL的查询,而不是这可能.....返回“none”字符串,其中没有结果存在

<?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

试图坚持自己的编码风格,我想这是我会怎么做?

<?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 } ?> 
+0

喜暗恋,感谢您的答复。我尝试了你的建议(对不起我关于我的PHP学习),但它虽然有效(我改变了记录集名称来检查),在那里有结果我只看到一行返回..... – mdemetri2

+0

然后'$ RecordSet1'只包含一条记录。 – crush

+0

这是不正确,因为我知道$ RecordSet1通常返回2行.... – mdemetri2

0

首先我'd建议你使用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>'; 
} 

我相信应该解决你的问题。

0

之前显示你的结果,你可以检查的行数与mysql_num_rows(顺便说一句,请仔细阅读有关MySQL扩展红色警报!)

if(mysql_num_rows($RecordSet1) == 0) {//no results 
    //display none 
} else { 
    //display your results 
} 
+0

嗨,所以我结束了:<?php if(mysql_num_rows($ RecordSet1)== 0){echo“No Records”; } else $ count = 0; ()()()(){0 0)?'even':'odd';?>“ ><?php echo $ row_RecordSet1 ['result']; ?><?php} while($ row_RecordSet1 = mysql_fetch_assoc($ RecordSet1)); ?>哪些作品,但它显示在我的页面顶部的“没有记录”,而不是我想要的行.....任何想法放置此代码.....赞赏!! – mdemetri2