データベース内の値を、個数分合計するような処理を考えているのですが、うまくいきません。
以下は、自分が作成中のcart.phpになります。
php
1<?php 2 3include 'shop_class.php'; 4 5error_reporting(E_ALL); 6ini_set("display_errors",1); 7session_start(); 8if(!isset($_SESSION['id'])){ 9 header('Location:login.php'); 10} 11 12$shop = new Shop('mysql:host=localhost;dbname=ec_website','root','12345'); 13 14$user_id = intval($_SESSION['id']); 15if($_POST){ 16 // var_dump($_POST); 17 // exit(); 18 19 $product_name = $_POST['name']; 20 $img = $_POST['img']; 21 $price = $_POST['price']; 22 $product_id = intval($_POST['product_id']); 23 $item_check = $shop->cart_check($user_id,$product_id); 24 25 26 if(!$item_check){ 27 // try{ 28 $shop->add_select_item($user_id,$product_id); 29 // }catch(PDOException $e){ 30 // echo $e->getMessage(); 31 // } 32 33 echo __LINE__; 34 //exit(); 35 36 }else{ 37 $shop->update($product_id); 38 echo __LINE__; 39 //exit(); 40 } 41 42} 43 44$item_list = $shop->cart_list($user_id); 45// var_dump($item_list); 46// exit(); 47//exit(); 48// foreach($item_list as $item){ 49// //var_dump($item); 50// $item_info[] = $shop->cart_item_info($item['item_id']); 51// } 52//var_dump($item_info); 53 54foreach($item_list as $item){ 55 $item_info_list[] = $shop->item_info_list($item['item_id']); 56} 57// var_dump($item_info_list); 58// exit(); 59// $sum_price = array_sum(array_column($item_info_list,'price')); 60// var_dump($sum_price); 61// exit(); 62 63$sum_price = 0; 64 65for($i = 0; $i < count($item_info_list); $i++){ 66 for($j = 0; $j < $item_list[$j]['amount'];$j++){ 67 var_dump($item_info_list[$j]['amount']); 68 $sum_price += $item_info_list[$i]['price']; 69 70 71 } 72 73} 74var_dump($sum_price); 75exit(); 76// $test = $item_list[0]; 77// var_dump($test); 78// exit(); 79?>
上記コードの$item_info_listの中身は下記になります。
「array(4) { [0]=> array(3) { ["name"]=> string(18) "ãã¹ã" ["price"]=> int(100) ["img"]=> string(53) "./images/f0ab631298df0117d17f6c91955a0be7129de339.jpg" } [1]=> array(3) { ["name"]=> string(7) "test111" ["price"]=> int(1000) ["img"]=> string(53) "./images/4a60837fe9c460ed404f490ca86a61d7c936613b.jpg" } [2]=> array(3) { ["name"]=> string(8) "t-shirt2" ["price"]=> int(1000) ["img"]=> string(53) "./images/cccacab372172c1f63c1351d95df9e792fdd4002.jpg" } [3]=> array(3) { ["name"]=> string(4) "test" ["price"]=> int(1000) ["img"]=> string(53) "./images/a482e68f5a960d0a2c47b8819a178b8b4f21c87c.jpg" } }」
$item_listの中身は以下になります。
「array(4) { [0]=> array(2) { ["item_id"]=> int(13) ["amount"]=> int(23) } [1]=> array(2) { ["item_id"]=> int(15) ["amount"]=> int(2) } [2]=> array(2) { ["item_id"]=> int(17) ["amount"]=> int(1) } [3]=> array(2) { ["item_id"]=> int(14) ["amount"]=> int(2) } }」
$item_info_list['price']の中身を、$item_list['amount']の個数分、増加させたです。
何か良い方法は、ありませんでしょうか?
どなたかご教示いただけましたら幸いです。
よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー