$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循环就是问题所在。我不知道我做错了什么错误,循环没有打印任何错误表只是没有打印(当它不在评论中)。
答案 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;