PHP For循环不启动

时间:2013-05-17 12:26:31

标签: php mysql

$queryGetTop = ("SELECT id,name,address,port,vote,isspon FROM servers ORDER BY vote ASC LIMIT 10");
$actionGetTop = mysql_query($queryGetTop);
while ($rowGetTop = mysql_fetch_array($actionGetTop)) {
    $countGetTopname[] = $rowGetTop['name'];
    $countGetTopip[] = $rowGetTop['address'];
    $countGetTopvotes[] = $rowGetTop['vote'];
    $countGetTopspon[] = $rowGetTop['isspon'];
    $countGetTopport[] = $rowGetTop['port'];
    $countGetTopid[] = $rowGetTop['id'];
}

$length = count($countGetTopname);



for ($i = 0; $i > $length; $i++) {
    echo $i;

    /* echo"

      <tbody>
      <tr>
      <td><span "; if($countGetTopspon[$i] == "1"){echo "class=\"label label-important\">Sponsored</span>";}echo $countGetTopname[$i]."</td>
      <td>". $countGetTopip[$i] .":". $countGetTopport[$i] ."</td>
      <td>". $countGetTopvotes[$i] ."</td>
      </tr>
      </tbody>
      "; */
}

我做了一些调试,我的MySQL数组进入了数组。所以我在for循环中回显$ i并且没有打印,所以for循环就是问题所在。我不知道我做错了什么错误,循环没有打印任何错误表只是没有打印(当它不在评论中)。

3 个答案:

答案 0 :(得分:5)

for(){}循环更改为:

for($i = 0; $i < $length; $i++ ){
  // execute this code
 }

部分$i < $length;告诉php:虽然$length小于$i(首先设置为零),但保持增量或(重复循环)一个,意思是......在$i增加 足够次 之后,如果它达到等于$length的数量,脚本应该停止。< / p>

答案 1 :(得分:0)

我希望问题是

for ($i=0; $i > $length; $i++){

我认为会是

for ($i=0; $i<$length; $i++){

**正在制作$i=0并尝试检查$length是否小于$i

希望有所帮助

答案 2 :(得分:0)

我不太确定你为什么要做两个for循环。这是无望的低效率。 我就是这样做的。无论如何,你确定它会循环通过一切。 我也认为你有一个bug,所以我建议修复它。从中获取你想要的东西,但这比你尝试的要清洁得多。此外,如果其他人要查看您的代码,将内容保存在变量中而不是不断回显是有帮助的。

$queryGetTop = ("SELECT id,name,address,port,vote,isspon FROM servers ORDER BY vote ASC LIMIT 10");
$actionGetTop = mysql_query($queryGetTop);
$str = '';
while($rowGetTop = mysql_fetch_array($actionGetTop)){
    $str .= '<tbody>';
    $str .= '<tr>';
    $str .= '<td>';
    if ($rowGetTop['isspon'] == "1") {
        $str .= '<span class="label label-important">Sponsored</span>';
    }
    $str .= $rowGetTop['name'];
    $str .= '</td><td>';
    $str .= $rowGetTop['address'] .':'. $rowGetTop['port'];
    $str .= '</td><td>';
    $str .= $rowGetTop['vote'];
    $str .= '</td></tr></tbody>';
}

echo $str;