2013-05-17 112 views
1
$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循环就是问题所在。我不确定我做了什么错误循环没有打印任何错误表格只是不打印(当它不在评论中)。PHP For循环未启动

+8

你需要'$ I <$ length' ......或甚至$'我<= $ length' – brbcoding

+1

慢慢阅读本...让'i'为0,而'i'是**大于**'$ length',... – deceze

+1

另外,我认为你不想在循环中使用。 –

回答

5

for(){}循环更改为:

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

部分$i < $length;告诉PHP:同时$length小于$i(被设置为零一)保持增量或(通过循环重新迭代)意思.. $i得到递增后足够的时间,并且如果它达到等于$length的数量,脚本应该停止。

+1

这有什么无限的? – brbcoding

+0

从技术上讲,不是无限循环,因为$ i始终为0,并且只有当$ i大于$ length时才会运行循环,而这永远不会发生。 –

+0

只有当$ length <0 – sasjaq

0

我希望这些问题是

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

我认为这将是

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

**当你正在$i=0并试图检查$length是小于$i

希望它有帮助

0

我不太确定你为什么要做两个for-loops。这是无望的低效率。 这是我该怎么做的。无论如何,你确定它会循环一切。 我也认为你有一个错误,所以我建议修复。拿你想要的东西,但这比你想要的要干净得多。另外,如果其他人要查看你的代码,将东西保存在一个变量中而不是不断回显。

$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;