2013-11-27 34 views
0

我正在使用下面的代碼來獲取結果,並希望它以兩行顯示。想要在水平表中顯示結果使用php mysql

echo "<table border='0' width='700px' align='center'>"; 
echo "<tr>"; 
while($number = mysqli_fetch_array($result2)) 
{ 
    echo "<td class='ball_p'>" . $number['number'] . "</td>"; 

    **echo "</tr><tr>";** 

    echo "<td class='search'>" . $number['count'] . "</td>"; 
} 
echo "<tr>"; 
echo "</table>"; 

因此,我不需要被包括在環路回聲「」的這部分代碼;

請幫忙,這一定很簡單。

我想,因爲我限制我的查詢 前10

因此,這將是顯示10的結果跨越:

的數字號碼等計數計數計數等

+0

你能「橫兩排」解釋一下嗎?水平多少個單元格?另外,你的第二個'echo「」;'應該是'echo「」;'。 –

+0

我正試圖在兩行中顯示10個項目。在我的查詢中,我限制了10個。 – CDubYaa

回答

0

由於表格需要一次繪製一行,因此您可以將所有number值存儲在一個數組中,並將所有count值存儲在第二個數組中,然後在構建時將每個數組循環遍歷行。因此,首先從數據庫中獲取你的價值觀:

// let's get a variable with the total number of records, i.e. horizontal cells: 
$totalRecords = 0; 

// get values from db: 
while($number = mysqli_fetch_array($result2)) 
{ 
    $numberArr[] = $number['number']; 
    $countArr[] = $number['count']; 
    $totalRecords++; 
} 

然後在另一組循環的渲染表(一個循環爲每一行):

// first row 
echo "<tr>"; 
for ($i = 0; $i < $totalRecords; ++$i) // you could also use count($numberArr) instead of $totalRecords 
{ 
    echo "<td class='ball_p'>" . $numberArr[$i] . "</td>"; 
} 
echo "</tr>"; 

// second row 
echo "<tr>"; 
for ($i = 0; $i < $totalRecords; ++$i) 
{ 
    echo "<td class='ball_p'>" . $countArr[$i] . "</td>"; 
} 
echo "</tr>"; 
+1

這是一個完美的解決方案。謝謝。 – CDubYaa

0

這個怎麼樣:

$i = 0; 
while($number = mysqli_fetch_array($result2)) 
{ 
    echo "<td class='ball_p'>" . $number['number'] . "</td>"; 
    while($i++ >= 1) 
    { 
     echo "</tr><tr>"; 
     $i = 0; 
    } 
    echo "<td class='search'>" . $number['count'] . "</td>"; 
} 

我沒有測試過它,但第二次while循環中的$ i之後的++應該在評估之後遞增,第一次跳過</tr><tr>並且第二次打印它。

+0

這並沒有產生預期的結果。但我很欣賞你的時間。 – CDubYaa