I have two table s that i am joining together as follows
<?php
$userqry="
SELECT *
FROM permission_category c
JOIN permission_group g
ON c.perm_group_id = g.id
";
$stmt = $conn2->prepare($userqry);
$stmt->execute();
while($row= $stmt->fetch()){
} ?>
<tr>
<td><?php echo $row['name'];?></td>
<td><?php echo $row['perm_group_name'];?>
</td>
<td>
</tr>
<?php } ?>
But The results am looking for should display as follows
How can i achieve this?
This code "remembers" the previous name in your loop. If the name isn't changed it won't be displayed:
<?php
$userqry = "SELECT * FROM `permission_category`
INNER JOIN `permission_group` ON
`permission_category`.`perm_group_id`=`permission_group`.`id`";
$stmt = $conn2->prepare($userqry);
$stmt->execute();
$current_name="";
while ($row= $stmt->fetch()) {
if ($row['name'] != $current_name) {
$name = $row['name'];
$current_name = $name;
} else {
$name = "";
}
?>
<tr>
<td><?php echo $name;?></td>
<td><?php echo $row['perm_group_name'];?>
</td>
<td>
</tr>
<?php } ?>
Note: You should add ORDER BY
in your query in order to sort your result in a proper way (maybe it's already sorted)