I want to display all the related images for a comment in a box together but display the comments in a different div Something like on the image that I have attached.
If there is a new post then repeat the main div with PHP.
I can't figure out how should I do this. I assume that I have to break the loop somewhere.
The database structure
posts:
| commentid | comment | iamgesid |
------------------------------------
| 1 | fool | 5557 |
| 2 | fool2 | 5585 |
------------------------------------
multiple_image:
| id | image | imagesid |
---------------------------
| 1 | name1 | 5557 |
| 2 | name2 | 5557 |
| 3 | name3 | 5585 |
---------------------------
I want something like this
.main {
background-color: #e3e3e3;
width: 400px;
padding: 5px 4px;
margin-bottom: 10px;
border-radius: 2px;
}
.comments {
padding: 10px;
background-color: #eee;
}
.pics {
padding: 10px;
background-color: #c3c3c3;
}
<div class='main'>
<div class='comments'>
Related Comment here
</div>
<div class='pics'>
Related Images here
</div>
</div>
<!-- repeat the same thing with a new post -->
<div class='main'>
<div class='comments'>
Related Comment here
</div>
<div class='pics'>
Related Images here
</div>
</div>
<!-- etc -->
<div class='main'>
<div class='comments'>
Related Comment here
</div>
<div class='pics'>
Related Images here
</div>
</div>
The code for fetching images and the related comment
$sql = "SELECT * FROM images
JOIN posts ON (images.imagesid=posts.imgs)
ORDER BY postID";
$result = $conn->query($sql);
if (!$result) {
trigger_error('Invalid query: ' . $conn->error);
}
if ($result->num_rows > 0) {
// output data of each row
$comment = '';
while($row = $result->fetch_assoc()) {
if ($row['name'] == NULL) {
$imgs= '';
} else {
$imgs= "<img width='' src='../images/".$row['name']."' >";
}
if($comment != $row['content']){
echo $row['content'];
$comment = $row['content'];
}
echo $imgs;
}
}