gpt4 book ai didi

php - 使用 PHP 的动态表

转载 作者:行者123 更新时间:2023-11-29 03:22:17 25 4
gpt4 key购买 nike

我正在尝试使用 PHP 创建一个动态表。行数将基于从 mysql 中提取的记录数,但我只希望一行中有 4 行。这是我现在拥有的

$sql = "SELECT t.tankid,t.TankName,tc.paramid,tc.active,pr.paramname,pr.minvalue,pr.maxvalue,pr.incvalue,pr.value from mr_tanks t inner join mr_testconfig tc ON tc.tankid = t.tankid inner join mr_parameters pr ON tc.paramid = pr.parameterid where t.tankid = :tankid and t.active = 1 and tc.active = 1";
$records1 = $con->prepare($sql);
$records1->bindParam(':tankid', $_GET['tankid']);
$records1->execute();
$headers = $col = "";
while ($row1 = $records1->fetch(PDO::FETCH_ASSOC)) {
$headers .= "<th> {$row1['paramname']} </th>";
$col .= "<td> {$row1['minvalue']} </td>";
}
echo "<table><tr>$headers</tr><tr>$col</tr></table>";
?>

我得到的是所有行都像这样排列:

Header 1 Header 2 Header 3 Header 4 Header 5 Header 6 Header 7 Header 8
Data 1 Data 2 Data 3 Data 4 Data 5 Data 6 Data 7 Data 8

我希望它是

Header 1 Header 2 Header 3 Header 4
Data 1 Data 2 Data 3 Data 4
Header 5 Header 6 Header 7 Header 8
Data 5 Data 6 Data 7 Data 8 Hole

    _____________________________________________________________
| TestName 1 | TestName 2 | TestName 3 | TestName 4 |
|___________________________________________________________|
| ResultTest1 | ResultTest2 | ResultTest3 | ResultTest 4|
_____________________________________________________________
| TestName 5 | TestName 6 | TestName 7 | TestName 8 |
|___________________________________________________________|
| ResultTest5 | ResultTest6 | ResultTest7 | ResultTest 8 |

<table>
<tr>
<th> TestName 1</th>
<th> TestName 2</th>
<th> TestName 3</th>
<th> TestName 4</th>
</tr>
<tr>
<td> ResultTest 1</td>
<td> ResultTest 2</td>
<td> ResultTest 3</td>
<td> ResultTest 4</td>
</tr>
<tr>
<th> TestName 5</th>
<th> TestName 6</th>
<th> TestName 7</th>
<th> TestName 8</th>
</tr>
<tr>
<td> ResultTest 5</td>
<td> ResultTest 6</td>
<td> ResultTest 7</td>
<td> ResultTest 8</td>
</tr>
</table>

最佳答案

您可以将行分块到一个二维数组中,然后循环遍历它们,其中每个 block 都会为您提供一个单独的表,每个表有 4 行。

如果最后一个 block 少于 4 行,您可以决定让表格少于 4 列,或者如果您仍然需要它是 4 列,则添加具有空参数名/最小值的填充行。

$results = array();
while ($row1 = $records1->fetch(PDO::FETCH_ASSOC)) {
$results[] = $row1;
}

$results = array_chunk($results, 4);
foreach($results as $chunk) {
$headers = "";
$col = "";
foreach($chunk as $row) {
$headers .= "<th> {$row)['paramname']} </th>";
$col .= "<td> {$row)['minvalue']} </td>";
}
echo "<table><tr>$headers</tr><tr>$col</tr></table>";
}

关于php - 使用 PHP 的动态表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42265043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com