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,它完全按照我希望的方式工作没有问题,如果是您选择的答案,然后,在回答(勾号的事情)时接受它,表明这一点可能是合适的。