【发布时间】:2017-07-05 00:55:27
【问题描述】:
我正在尝试使用 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>";
?>
我得到的是所有行都是这样排列的:
标题 1 标题 2 标题 3 标题 4 标题 5 标题 6 标题 7 标题 8
数据 1 数据 2 数据 3 数据 4 数据 5 数据 6 数据 7 数据 8
我希望它是
标题 1 标题 2 标题 3 标题 4
数据 1 数据 2 数据 3 数据 4
标题 5 标题 6 标题 7 标题 8
数据 5 数据 6 数据 7 数据 8 孔
_____________________________________________________________
| 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>
【问题讨论】:
-
意思是两张表吧?
-
你需要两张桌子?
-
这是 1 张桌子。在 header 中是测试的名称,在 data 中将是结果。
-
但根据您的预期结果,您似乎想在每四个名称之后拆分
-
我更新了一个问题,我在表格中划了一条,希望它能让您更好地了解我想要实现的目标。测试的数量可以从 1 到 16 不等。我只想要 4 次测试,结果排成一行
标签: php mysql dynamic html-table