php - vertical column in table 在html表格中水平显示查询结果

标签 php html mysql pivot-table

我想在 html 表格中水平显示字段的垂直值。 我的表结构是这样的

ID Category Value     (ID is Foriegn Key)
1     A      23
1     B      25
.
.
.
.
1   S      30
2   A      10
2   B      11
.
.
.
2   S      22
ID Area_A  Area_B Area_C  (ID is primary key)

我想加入这些表,想水平显示查询结果

ID Area_A  Area_B  Area_C  A   B  ........ S
1  aa      bb      cc      23  25         30

谁能帮帮我? 这可能吗?

$sql = "select * from tbl1, tbl2 where tble1.ID = tble2._ID ";
  $res = mysqli_query($con, $sql);

    while($row = mysqli_fetch_object($res)) {
		?>
                                        <tr>
                                            <td><?php echo "$row->ID"; ?></td>
                                            <td><?php echo "$row->Area_A"; ?></td>
                                            <td><?php echo "$row->Area_B"; ?></td>
                                            <td><?php echo "$row->Area_C; ?></td>
										
                                            <td><?php echo "$row->Value "; ?></td>
                                            <td><?php echo "$row->Value"; ?></td>
                                            <td><?php echo "$row->Value"; ?></td>
                                            <td><?php echo "$row->Value"; ?></td>
											<td><?php echo "$row->Value"; ?></td>
                                            <td><?php echo "$row->Value"; ?></td>
                                            <td><?php echo "$row->Value"; ?></td>
                                            <td><?php echo "$row->Value"; ?></td>
                                            <td><?php echo "$row->Value"; ?></td>
											<td><?php echo "$row->Value"; ?></td>
                                            <td><?php echo "$row->Value"; ?></td>
                                            <td><?php echo "$row->Value"; ?></td>
                                            <td><?php echo "$row->Value"; ?></td>
                                            <td><?php echo "$row->Value"; ?></td>
											<td><?php echo "$row->Value"; ?></td>
                                        </tr>
									<?php

但问题是像这样插入数据

enter image description here

这个黑色椭圆应该水平显示并且只显示一次

最佳答案

示例中的 php 代码在 HTML 表中为 MySQL 结果集中的每一行创建一行。更改该代码以创建列。 php 非常适合这类事情;它操纵文本,而 HTML 表格只是文本。

为此,您实际上需要创建两行。一个是标题行,另一个是详细信息行。

尝试这样的事情。请注意,此代码未调试。

$hdr = "";
$dat = "";

while($row = mysqli_fetch_object($res)) {
   $hdr = $hdr + "<td>" + $row->Category + "</td>";
   $dat = $dat + "<td>" + $row->Value    + "</td>";
}
echo "<tr>" + $hdr + "</tr>";
echo "<tr>" + $dat + "</tr>";

您是否看到 $hdr = $hdr + 表格单元格 如何为每个数据项累积一堆表格单元格,在您的结果集中包含 类别 值?同样,$dat = $dat + table cell 为每个数据项积累了一堆表格单元格。

很抱歉,我不理解 Area_A 和您问题中的其他区域项,所以我没有尝试对它们进行编程。

关于php - vertical column in table 在html表格中水平显示查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49511365/

相关文章:

php - 什么阻止了 fsockopen?

javascript - 在 Javascript 中突出显示单词 - 为什么在页面完全加载后它们不会保持突出显示?

javascript - 我的代码不起作用,怎么了?

html - Flexbox 没有给元素相等的宽度

php - 为什么我不能在 MySQL 升级后向列中插入 NULL 值?

php - 检查特定日期时间是否在 mysql 中的两个字段之间

javascript - 如何使用Ajax上传多张图片?

php - 更新 SQL 表中的数据

php - PASSWORD_DEFAULT 与 PASSWORD_BCRYPT

php - 为什么在 Laravel 中查询异常更新数据?