2013-05-30 27 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