Пришлось отследить твой репост, извини, что так долго возвращался к тебе.Работа мешала.Ваш код не соответствует столбцам вашей базы данных, поэтому я не уверен, что ваш пример базы данных правильный или ваш код.Я угадал базу данных, но если я угадал неправильно, вам придется заменить соответствующие поля базы данных.
Я упростил ваши запросы к базе данных, потому что я думаю, что для вас важнее понять, что они делают, чем быть эффективными.
$sql = "SELECT * FROM multiple_image";
$result = $conn->query($sql);
if (!$result) {
trigger_error('Invalid query: ' . $conn->error);
}
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$imgs[$row['imageid]][$row['id']]= "<img width='' src='../images/".$row['name']."' >"; // array of image id's, with arrays of images inside them.
}
}
$sql = "SELECT * FROM posts";
$result = $conn->query($sql);
if (!$result) {
trigger_error('Invalid query: ' . $conn->error);
}
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$commentsToImages[$row['commentid']] = $row['imagesid']; // array of post id's to picture ids
$comments[$row['commentid']] = $row['comment']; // array of post id's to comment text.
}
}
Теперь вам просто нужно визуализировать ваш хорошийновые массивы.
foreach($commentsToImages as $commentID =>$imagesID) {
?>
<div class='main'>
<div class='comments'>
<?php echo $comments[$commentID]; // render the comment ?>
</div>
<div class='pics'>
<?php
foreach($imgs[$imagesID] as $img) { // foreach loop that will render all the images...
echo $img;
}
?>
</div>
</div>
<?php
}
?>
Возможно, здесь есть одна или две опечатки, но этот код должен делать то, что вы хотите.Я должен уточнить, что это не самый лучший способ сделать это.Он не следует передовым методам и не является наиболее эффективным.Но если вы только учитесь для каждого цикла, для изучения требуются как минимум новые вещи.
- Простые запросы к БД.
- массивы
- для каждого цикла.
- Если тогда операторы.
Вы ДОЛЖНЫ вернуться и добавить операторы тогда, чтобы поймать различные потенциальные ошибки.Я не знаю, если ваша база данных допускает нулевые значения, например, но они могут бросить гаечный ключ.Но это будет работать в любом случае.