Проблемное отображение блоков в цикле while
<?php
session_start();
include "configuration/db.php";
while($row = mysqli_fetch_array($zakaz)){
$id=$row['id'];
$name=$row['name_project'];
echo '<div class="tape-wrap__col">
<div class="tape__card tape__card_first">
<span class="tape__card-title">Отклики на заказ:</span>
<p class="tape__card-sub-title">'; echo $name; echo'</p>
</div>';
while($rows = mysqli_fetch_array($otklikk)){
$id_zakaza = $rows['n_zakaza'];
$comment = $rows['comment'];
$time = $rows['time_otklika'];
echo '<div class="tape__card">
<div class="tape__card_items">
<span class="tape__card-data">'; echo $time; echo '</span>
<p class="tape__card-title"><span class="tape__card-title_color">Отклик от </span>архитектора
№ 11 </p>
<p class="tape__card-info">'; echo $comment; echo '</p>
</div>
</div>';
}
echo '</div>';
}
?>
Существует следующий код, который выводит название заказа и комментарии в двух циклах. Заказ с $name выводит в разные блоки, а комментарии к ним выводятся под первый блок только. Как можно скрепить вывод, чтобы каждый блок комментариев был под своим блоком заказа? Что упустил? Есть $id заказа и $id_zakaza в таблице комментариев.
Ответы (1 шт):
Автор решения: Iurie Albu
→ Ссылка
Попробуй этот вариант:
<?php
session_start();
include "configuration/db.php";
$html = '';
while($row = mysqli_fetch_array($zakaz)){
$id=$row['id'];
$name=$row['name_project'];
$html .='<div class="tape-wrap__col">
<div class="tape__card tape__card_first">
<span class="tape__card-title">Отклики на заказ:</span>
<p class="tape__card-sub-title">';
$html .= $name.'</p></div>';
while($rows = mysqli_fetch_array($otklikk)){
$id_zakaza = $rows['n_zakaza'];
$comment = $rows['comment'];
$time = $rows['time_otklika'];
$html .= '<div class="tape__card">
<div class="tape__card_items">
<span class="tape__card-data">';
$html .= $time.'</span><p class="tape__card-title"><span class="tape__card-title_color">Отклик от </span>архитектора № 11 </p> <p class="tape__card-info">';
$html .= $comment.'</p></div></div>';
}
$html .= '</div>';
}
echo $html;
?>
