2011-04-16 94 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