【发布时间】:2021-02-02 15:50:21
【问题描述】:
我正在使用 PHP 输出一个基于 mysql 数据的表。我正在使用以下代码:
$result = $db->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<tr>";
echo "<td>", "<br>". $row["Name"]. "" .$row["message"]."".$row["timestamp"]."<br>","</td>";
echo "</tr>";
}
} else {
echo "0 results";
}
这会产生一个看起来有点像这样的表格:
--------------------------------
|Name 1 Message 1 timestamp |
--------------------------------
|Name 1 Message 2 timestamp |
--------------------------------
|Name 2 Message 1 timestamp |
--------------------------------
|Name 3 Message 1 timestamp |
--------------------------------
|Name 3 Message 2 timestamp |
--------------------------------
|Name 3 Message 3 timestamp |
--------------------------------
我真正想要的是看起来有点像这样的东西:
Name 1
--------------------------------
|Message 1 | timestamp |
--------------------------------
|Message 2 | timestamp |
--------------------------------
Name 2
---------------------------------
|Message 1 |timestamp |
--------------------------------
Name 3
--------------------------------
|Message 1 | timestamp |
--------------------------------
|Message 2 | timestamp |
--------------------------------
|Message 3 | timestamp |
--------------------------------
【问题讨论】:
-
使用
GROUP BY Name更新您的查询。然后比较以前的用户,如果更改,则创建一个新部分。 -
不要那样做。只需添加一个while循环。
标签: php mysql associative-array