2013-05-17 54 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;