カートと呼ばれるテーブルからすべての製品を表示する必要があります。しかし、テーブルに何個の製品があるにしても、json_decode
は常にユーザー側で1つの製品の配列を返します(var_dumpを確認してください)。ユーザーは、最後に追加された商品のみを表示できます。 jsonはテーブルの最後の行のみを表示します。私はすべての製品を表示する必要があります。私はこのアプリケーションをデバッグするために多くのことを試しましたが、私は完全にjsonの機能を理解していないと思います。json_decode mysqliで1の配列を返します
のvar_dump($アイテム):array(1) { [0]=> array(4) { ["id"]=> string(2) "14" ["size"]=> string(1) "0" ["quantity"]=> string(1) "1" ["available"]=> string(1) "1" } }
cart.php
<?php
if($cart_id !=''){
$cartQ = $db->query("SELECT * FROM cart WHERE id ='{$cart_id}' ");
$result = mysqli_fetch_assoc($cartQ);
$items = json_decode($result['items'],true);
$i = 1;
$sub_total = 0;
$item_count = 0;
}
?>
<?php
foreach($items as $item){
var_dump($items);
$product_id = $item['id'];
$productQuery = $db->query("SELECT * FROM product WHERE id ='{$product_id}' ");
$product = mysqli_fetch_assoc($productQuery);
?>
<tr class="p">
<td class="image"><img src="<?=$product['image_1'];?>" /></td>
<td class="name"><?=$product['prod_name'];?></td>
<td class="price"><?=money($product['price']);?></td>
<td class="quantity"> <?=$item['quantity'];?></td>
<td class="pricesubtotal"><?=money($item['quantity'] * $product['price']);?></td>
<td class=""><div><button name='removeitem' onclick="update_cart('removeitem','<?=$product_id['id'];?>');">×</button></div></td>
</tr>
<?php endif;?>
あなたの意見をお寄せいただきありがとうございます...私はあなたが何を言っているのか理解しており、今どこからエラーが出ているのかを見ています。基本的にjsonはこの場合役に立たず... idと他のすべてのために別々の列を作成する必要があります。 – Waterfalls
はい、それはかなりそれを要約します。古い回答には、標準のカートテーブルデザインがたくさんあります – e4c5