2011-04-16 72 views
1

我在PHP和MySQL中有一段while語句的問題,我一直試圖弄清楚年齡,我希望你能幫助我。儘管聲明在Php和MySQL

我有一個while語句,裏面有兩個if語句。它似乎正在工作,除了它多次顯示數組中的第一個條目。

<?php 
     $i=1; 
     while($i<5){ 

     if ($data_review_list['review'] > 4){ 
      echo "<img src=\"images/good.png\" />\n"; 
     } 

     else{ 
      echo "<img src=\"images/bad.png\" />\n"; 
     } 
     echo $data_review_user['user_name']; 

     echo $data_review_list['review_msg']; 

     $i++; 
    } 
    ?> 

我已經把($ I < 5)使用($ I!= 0)是給我的第一個條目的一個長長的清單。這給了我第一次入場5次。

我在做什麼錯?我怎樣才能得到第二個等入口顯示?

謝謝!

+0

您發佈對子級你如何從數據庫中查詢數據。 – SIFE 2011-04-16 23:37:52

回答

2

雖然您每次通過循環更新$i,但您永遠不會看到$data_review_list[$i]$data_review_list是什麼樣子?使用此代碼來檢查數組:

var_dump($data_review_list); 
+0

謝謝你的回覆。使用var_dump確實有幫助,因爲我發現我只是查詢第一個條目。改變我的fetch_array解決了我的問題! – fondeli 2011-04-17 22:25:07

0

我不知道你是否使用mysql或mysqli的,但我會假設你使用的mysqli的這個例子。我們還假設你在mysql中查詢的查詢最後有LIMIT 5

<?php while($data = $result->fetch_assoc()) { 
    if($data['review'] > 4) { 
     echo "<img src=\"images/good.png\" />\n"; 
    } else { 
     echo "<img src=\"images/bad.png\" />\n"; 
    } 

    echo $data['user_name']; 
    echo $data['review_msg']; 
} ?> 

這將獲取while語句中的5行中的每一行。

+0

謝謝,我正在使用mysql。原來我是錯誤地獲取數組。 – fondeli 2011-04-17 22:26:16

0

在猜測它應該是這樣的(我想提出關於此數據結構中的一些假設)

<?php 
      $i=1; 
      while($i<5){ 

      if ($data_review_list[$i]['review'] > 4){ 
       echo "<img src=\"images/good.png\" />\n"; 
      } 

      else{ 
       echo "<img src=\"images/bad.png\" />\n"; 
      } 
      echo $data_review_user[$i]['user_name']; 

      echo $data_review_list[$i]['review_msg']; 

      $i++; 
     } 
     ?> 
+0

謝謝,這可以幫助我尋找知識,但是這個問題是我錯誤地提取了我的數組。 – fondeli 2011-04-17 22:27:30