I’m using PHP to output a table based on mysql data. 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";
}