我正在面臨從所需格式的數據庫中檢索數據的問題。我已經使用PHP MYSQL。我可以使用while($row=mysql_fetch_array($result));
等等來檢索記錄,但不能以我想要的格式檢索記錄。如何以所需的格式從數據庫中檢索數據(PHP MYSQL)
假設,從數據庫我得到10個記錄垂直1到10,但我想要下面的格式使用表。
1 2 3 4
5 6 7 8
9 10
注意:沒有記錄本質上是動態的,我希望每行有4列。
請幫我一把。提前致謝。
我正在面臨從所需格式的數據庫中檢索數據的問題。我已經使用PHP MYSQL。我可以使用while($row=mysql_fetch_array($result));
等等來檢索記錄,但不能以我想要的格式檢索記錄。如何以所需的格式從數據庫中檢索數據(PHP MYSQL)
假設,從數據庫我得到10個記錄垂直1到10,但我想要下面的格式使用表。
1 2 3 4
5 6 7 8
9 10
注意:沒有記錄本質上是動態的,我希望每行有4列。
請幫我一把。提前致謝。
數據庫中每行有4條記錄不會改變任何內容。數據庫中沒有這樣的功能,因爲它沒有任何用處,可以用PHP代替。正如評論中所述,數據庫不是爲數據表示而設計的。
可以代替檢索這些數據,並存儲爲以後使用簡單的PHP腳本四肢組:
$i = 0;
$in = 0;
$array = array();
while($row = mysql_fetch_array($result)) {
if ($i%4) {
$in++;
}
$array[$in][] = $result;
$i++;
}
你不能與MySQL做到這一點,MySQL是不是用來很好地顯示數據,它僅用於存儲和檢索您的數據。
你需要的是下面的,而$陣列可以從數據庫中的數據被替換:
$array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
echo '<table>';
echo '<tr>';
for ($i = 0; $i < sizeof($array); $i++) {
if(($i % 4) == 0 && $i != 0) {
echo '</tr><tr>';
}
echo '<td>';
echo $array[$i];
echo '</td>';
}
echo '</tr>';
echo '</table>';
你需要在循環之前打開'
謝謝@Pharaoh我加了他們。 –
非常感謝,它工作正常。 –
由於克林斯曼d說 SQL不適用於數據表示。手柄在你的邏輯
所以,你可以
$array = array(1,2,3,4,5,6,7,8,9,10);
$i=0;
while($i < sizeof($array))
{
if($i%4 ==0 && $i>0) echo "<br>";
echo $array[$i++] ;
}
注意與陣列從數據庫替換$array
最好使用數組的大小來確定它將創建多少個循環,而不是對其進行硬編碼,也可以使用表來更好地表示數據,因爲大數字你的列可能不在同一行。 –
這只是爲了表明它在SQL中通過php來完成。非常感謝 – Champ
沒問題。如果您願意,您可以提出我的評論。 –
$data = ... your mysqli call that returns the data from mysql
$i = 0;
if ($data) {
$HTML = '<table><tr>';
foreach($data as $k => $v) {
$HTML .= '<td>'.$v.'</td>';
if ($i == 3) {
$i = 0;
$HTML .= '</tr><tr>';
}
$i++;
}
$HTML .= '</tr></table>';
echo $HTML;
}
這是完整的例子:)。您需要創建表MYSQL「Cname」列中的「Category」
<?php
require 'ConnDB.php';
$sql = "Select * From Category";
$ResShowCateg = mysqli_query($conn_link, $sql);
echo '<table>';
echo '<tr>';
for ($i = 0; $i < mysqli_num_rows($ResShowCateg); $i++) {
$row = mysqli_fetch_assoc($ResShowCateg);
if(($i % 3) == 0 && $i != 0){
echo '</tr><tr>';
}
echo '<td>';
echo $row["Cname"];
echo '</td>';
}
echo '</tr>';
echo '</table>';
mysqli_close($conn_link);
?>
爲什麼你不使用PHP的呢?爲什麼你需要從MySQL? – Champ
應該在檢索後處理。這只是一個觀點問題(目前可以輕鬆處理)。 –
SQL不是爲數據表示而設計的。在你的邏輯中處理 –