Php Mysql行返回数组中的最后一个值,但我希望返回整行
这是我的购物车代码:Php Mysql行返回数组中的最后一个值,但我希望返回整行,php,mysql,sql,database,php-5.5,Php,Mysql,Sql,Database,Php 5.5,这是我的购物车代码: function cart() { $total = 0; $item_quantity = 0; $item_name = 0; $item_number = 1; $amount = 1; $quantity = 1; foreach ($_SESSION as $name => $value) { if($value > 0 ) { if(substr(
function cart() {
$total = 0;
$item_quantity = 0;
$item_name = 0;
$item_number = 1;
$amount = 1;
$quantity = 1;
foreach ($_SESSION as $name => $value) {
if($value > 0 ) {
if(substr($name, 0, 8) == "product_"){
$length = strlen($name - 8);
$id = substr($name, 8 , $length);
$query = query("SELECT * FROM products WHERE product_id = " . escape_string($id)." ");
confirm($query);
$titleArr = array();
while($row = fetch_array($query)) {
$titleArr[$id] = $row['product_title'];
$product_name = implode(",", $titleArr);
$order_product = $product_name . "-". $value;
$sub = $row['product_price']*$value;
$item_quantity +=$value;
$item_number++;
$amount++;
$quantity++;
$id++;
}
$_SESSION['item_total'] = $total += $sub;
$_SESSION['item_quantity'] = $item_quantity;
$_SESSION['item_name'] = $order_product;
}
}
}
}
我在网上搜索了很长时间,请告知
$_SESSION['item_name'] = $order_product;
它给出了fetch_数组中的最后一个值,我希望购物车页面上的所有产品标题。在循环时更新
$total = 0
while($row = fetch_array($query)) {
$titleArr[$id] = $row['product_title'];
$product_name = implode(",", $titleArr);
$order_product = $product_name . "-". $value;
$sub = $row['product_price']*$value;
$item_quantity +=$value;
$item_number++;
$amount++;
$quantity++;
$id++;
$total += $sub;
$_SESSION['item_name'][] = $order_product;
}
$_SESSION['item_total'] = $total;
$_SESSION['item_quantity'] = $item_quantity;
更新的while循环
$total = 0
while($row = fetch_array($query)) {
$titleArr[$id] = $row['product_title'];
$product_name = implode(",", $titleArr);
$order_product = $product_name . "-". $value;
$sub = $row['product_price']*$value;
$item_quantity +=$value;
$item_number++;
$amount++;
$quantity++;
$id++;
$total += $sub;
$_SESSION['item_name'][] = $order_product;
}
$_SESSION['item_total'] = $total;
$_SESSION['item_quantity'] = $item_quantity;
如果您想在购物车页面上显示所有产品标题,请制作二维数组 替换这个
$order_product = $product_name . "-". $value;
与
在while循环之前
分配数组:-
$order_product = array();
如果您想在购物车页面上显示所有产品标题,请制作二维数组 替换这个
$order_product = $product_name . "-". $value;
与
在while循环之前
分配数组:-
$order_product = array();
这些更改中的任何一个都应该有效 这会将m all放入一个数组中
$_SESSION['item_name'] = array();
foreach ($_SESSION as $name => $value) {
...
$_SESSION['item_total'] = $total += $sub;
$_SESSION['item_quantity'] = $item_quantity;
array_push($_SESSION['item_name'],$order_product);
...
}
这会将它们放入逗号分隔的字符串中
$_SESSION['item_name'] = '';
foreach ($_SESSION as $name => $value) {
...
$_SESSION['item_total'] = $total += $sub;
$_SESSION['item_quantity'] = $item_quantity;
$_SESSION['item_name'] .= $order_product.', ';
...
}
$_SESSION['item_name'] = rtrim($_SESSION['item_name'],' ');
$_SESSION['item_name'] = rtrim($_SESSION['item_name'],',');
这些更改中的任何一个都应该有效 这会将m all放入一个数组中
$_SESSION['item_name'] = array();
foreach ($_SESSION as $name => $value) {
...
$_SESSION['item_total'] = $total += $sub;
$_SESSION['item_quantity'] = $item_quantity;
array_push($_SESSION['item_name'],$order_product);
...
}
这会将它们放入逗号分隔的字符串中
$_SESSION['item_name'] = '';
foreach ($_SESSION as $name => $value) {
...
$_SESSION['item_total'] = $total += $sub;
$_SESSION['item_quantity'] = $item_quantity;
$_SESSION['item_name'] .= $order_product.', ';
...
}
$_SESSION['item_name'] = rtrim($_SESSION['item_name'],' ');
$_SESSION['item_name'] = rtrim($_SESSION['item_name'],',');
因为此代码会覆盖会话数据。您应该使用$\u SESSION['item\u name'][]=$order\u product;致命错误:[]字符串不支持运算符,因为此代码会覆盖会话数据。您应该使用$\u SESSION['item\u name'][]=$order\u product;致命错误:[]Strings不支持运算符Hanks barry它完全按照我希望的方式工作没有问题,如果是您选择的答案,则可以通过接受它作为您的答案(勾号的事情)来表示。谢谢barry,它完全按照我希望的方式工作没有问题,如果是您选择的答案,然后,在回答(勾号的事情)时接受它,表明这一点可能是合适的。