2012-09-22 47 views
4

我正在運行一個mysqli查詢。mysqli查詢沒有結果做其他事情做別的

這是我的代碼

<?php 
    $SM_pro_info="SELECT * FROM special_marketing_ads ORDER BY id desc LIMIT 4"; 
    $QSM_pro_info = $db->query($SM_pro_info)or die($db->error); 
     if($QSM_pro_info->num_rows > 0){ 
     while($SM_pro=$QSM_pro_info->fetch_object()){ 



    ?> 
     <table width="208" border="0"> 
     <tr> 
      <td width="129" height="35" align="right"><span style="color:#361800; font-size:14px; font-weight:bold;"><?php echo $SM_pro->pro_title; ?></span></td> 
      <td width="69" rowspan="2" align="center"><a rel="lightbox" href="includes/Cpanel/projectImages//images.jpg" ><img src="<?php echo $SM_pro->image_1; ?>" alt="" width="60" height="60" border="0" /></a></td> 
     </tr> 
     <tr align="right"> 
      <td><span style="color:#361800; font-size:14px; font-weight:bold;">الغرض</span> : <span style="color:#da6e19; font-size:15px; font-weight:bold;"><?php echo $SM_pro->pro_purpose; ?></span></td> 
     </tr> 
     </table> 
     <?php 
     } 
     }else{ 
      for ($x=0; $x<(4 - $QSM_pro_info->num_rows); $x++) { 
      echo 'Your ad here'; // or, whatever your ad text is 
      } 
      } 
     ?> 
    </div> 

現在我想要做的是,如果有任何結果從mysqli的comeing呼應,如果沒有結果,它應該 迴音是在此處添加廣告的圖像。關鍵是我有4個廣告,所以如果有1個廣告在mysqli行,其他是空的,所以我希望它回聲這個單一的廣告和其他3廣告應該是這個圖像在這裏添加您的廣告。 有關於此的任何幫助嗎?

回答

3

更改此:

if($QSM_pro_info->num_rows ==1){ 

要這樣:

if ($QSM_pro_info->num_rows > 0) { 

的問題是,你檢查了整整一個結果。你想要的是多於零的結果。

現在,在你「在這裏你的廣告」顯示部分,試試這個:

for ($x=0; $x<(4 - $QSM_pro_info->num_rows); $x++) { 
    echo 'Your ad here'; // or, whatever your ad text is 
} 

此外,一定要使用周圍的HTML可變數據,htmlspecialchars()避免破HTML(和潛在的XSS攻擊,這取決於你的數據源)。

+0

乾草布拉德我得到它運行,但我的問題是,我在MySQL中做了一個限制4,我需要這個文本「把你的廣告放在這裏」出現4次,如果沒有結果從表中,如果有兩行它應該回顯兩行,其他兩個應該仍然有這個文字「在這裏添加您的廣告」的任何幫助? –

+0

啊,我想我現在明白了。您希望顯示4個廣告,如果有空插槽,請填寫「您的廣告在這裏」?每個插槽一個空的? – Brad

+0

是的,這正是我想要的 –

相關問題