简体   繁体   English

拆分关联数组/表

[英]Splitting an Associative Array/Table

I'm using PHP to output a table based on mysql data.我正在使用 PHP 输出基于 mysql 数据的表。 I'm using the following code:我正在使用以下代码:

$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";
}

Which produces a table that looks a bit like this:这会生成一个看起来有点像这样的表:

--------------------------------
|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 |
--------------------------------

What I would actually like is something that looks a bit like this:我真正想要的是看起来有点像这样的东西:

Name 1
--------------------------------
|Message 1   | timestamp        |
--------------------------------
|Message 2   | timestamp        |
--------------------------------

Name 2
---------------------------------
|Message 1   |timestamp         | 
--------------------------------

Name 3
--------------------------------
|Message 1   |  timestamp       |
--------------------------------
|Message 2   |  timestamp       |
--------------------------------
|Message 3   |  timestamp       |
--------------------------------

The idea is to split name from the rest and only display it when the name changes on the design you must work a little.这个想法是将名称与其余部分分开,仅在设计上的名称更改时才显示它,您必须稍微工作一下。

$result = $db->query($sql);

 if ($result->num_rows > 0) {
    $name = "";
     while($row = $result->fetch_assoc()) {
     
        if ($name == $row["Name"])
        {
            echo "<tr>";
            echo "<td>".$row["message"]."</td><td>".$row["timestamp"]."</td>";
            echo "</tr>";
        } else {
            echo "<tr>";
            echo "<td colspan=2>". $row["Name"]. "</td>";
            echo "</tr>";
            $name = $row["Name"];
        }
     }
} else {
   echo "0 results";
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM