表中的垂直列在html表中水平显示查询结果

时间:2018-03-27 11:10:35

标签: 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

这个黑色椭圆应水平显示,只显示一次

1 个答案:

答案 0 :(得分:0)

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

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

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

List<string> allFiles = new List<string>();
foreach (string subDir in list)
    allFiles.AddRange (Directory.GetFiles (subDir));

您是否看到$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 + table cell值?同样,Category为每个数据项累积了一堆表格单元格。

很抱歉,我不明白$dat = $dat + table cell以及您问题中的其他区域项目,所以我没有尝试过编程。