-1
我想從數據庫中獲取數據並將其顯示在html表格中。我的兩難處境是,如果返回的行數超過x行,我需要能夠擴展html表,如下圖所示。因此,例如,如果只返回10行,它們將顯示在一個直線表中(如第一個示例圖所示)。而如果說20回來了,它會將其中一些推到右邊的第二個「表」(如第二個示例圖所示)。我不知道如何用php來完成這個。如果有人能夠幫助我,我會非常感激。HTML表格上的PHP數據 - 展開HTML表格
我想從數據庫中獲取數據並將其顯示在html表格中。我的兩難處境是,如果返回的行數超過x行,我需要能夠擴展html表,如下圖所示。因此,例如,如果只返回10行,它們將顯示在一個直線表中(如第一個示例圖所示)。而如果說20回來了,它會將其中一些推到右邊的第二個「表」(如第二個示例圖所示)。我不知道如何用php來完成這個。如果有人能夠幫助我,我會非常感激。HTML表格上的PHP數據 - 展開HTML表格
我想我會採取的做法是從MySQL中獲取行成兩個獨立的二維數組,而不是試圖建立對飛了HTML <table>
。
在MySQL讀取循環中,遍歷每行的列,並且當您超出數字$maxcols
時,請開始追加到另一個數組。然後,當完成獲取循環時,分別遍歷這兩個數組來構建HTML表格。
有幾種方法可以管理嵌套循環。這是想到
// An array initialized for each table (will become 2D arrays)
$t1 = array();
$t2 = array();
// Max cols in the first table
$maxcols = 10;
// Your fetch loop (pseudocode since we don't know which API you use)
while ($row = $result->fetch()) {
// New row in both table arrays
$new_t1 = array();
$new_t2 = array();
// Loop over columns
$idx = 0;
foreach ($row as $col) {
if ($idx < $maxcols) {
// Index is less than maxcols, append to the first table's new row
$new_t1[] = $col;
}
// >= maxcols, append to second table's new row
else $new_t2[] = $col;
// Increment the index
$idx++;
}
// Each of the two `$new_t* arrays now comprises a complete table row
// Append each new array as a row onto the correct table 2D array
$t1[] = $new_t1;
$t2[] = $new_t2;
}
然後在每個陣列$t1, $t2
建立你的兩個表的循環中的第一。
在你尋求幫助之前,你應該嘗試一些東西 –