У меня возникла проблема при попытке представить некоторую информацию, поступающую из массива.Использование массива из Foreach в нескольких случаях
У меня есть foreach
, который проверяет сеансы n
на моем сайте, затем я вызываю базу данных для каждого сеанса и загружаю массив элементов.
После выхода из foreach
, я хотел бы использовать тот же массив последовательно, чтобы показать элементы по одному заново, однако я вижу только последний из пунктов n
раз.
По существу, во втором foreach
, то $row2['name']
и $row2['price']
только показывает n
количество раз, но всегда последний элемент таблицы.
foreach ($_SESSION['cart'] as $item)
{
$pid = $item['itemId'];
$q = $item['qty'];
if($q==0) continue;
$query2 = $con -> prepare("SELECT * FROM item_descr WHERE id_item = :idItem");
$query2-> bindValue (':idItem',$pid);
$query2->execute();
$row2 = $query2->fetch(PDO::FETCH_ASSOC);
SOME HTML STUFF....
}
НЕКОТОРЫХ НЕЗАВИСИМАЯ HTML STUFF ЗДЕСЬ:
foreach ($_SESSION['cart'] as $item)
{
$pid = $item['itemId'];
$q = $item['qty'];
HTML <div class="subTotalItem">
<span class='cartItemsText'><?php echo **$row2['name']**; ?></span>
<span class='cartItemsText2'><?php echo $q." x "." $".$**row2['price'];** $subTotal+= $row2['price'] * $q; ?></span>
</div>
}
Любая идея, где проблема может быть?
После того, как первый foreach завершает, строка $ row2 будет содержать строку, полученную из последнего запроса. Вам нужно либо снова запустить запросы, либо объединить петли foreach в один. – James