简体   繁体   English

回显此会话中选择的每个记录

[英]Echo every record selected in this session

This is my code in controller.php 这是我在controller.php中的代码

if(!isset(Yii::app()->session['cart_values'])) {
            Yii::app()->session['cart_values'] = array();
        }

$sessionCart = array();

$sessionCart[] = array('product_id' => Yii::app()->session['productID'], 'document' => Yii::app()->session['productName']);
Yii::app()->session['cart_values'] = $sessionCart;

My problem is that when I try to echo the result I got only the last record that I have selected, but what I need is every record selected in this session. 我的问题是,当我尝试回显结果时,我只有我选择的最后一条记录,但是我需要的是在此会话中选择的每条记录。 I know that i need to make a check before I start to filing the array, but not sure how. 我知道在开始归档阵列之前需要进行检查,但不确定如何进行。

  <?php
    if (is_array(Yii::app()->session['cart_values']))
{
    foreach ( Yii::app()->session['cart_values'] as $value) {

    echo $value['document'];
}
}
    ?>

I want to understand it by my own, but i'm confused,so if anybody could help me I would be very happy. 我想自己理解它,但是我很困惑,所以如果有人可以帮助我,我会很高兴。 Thanks. 谢谢。
PS Sorry for my English, i hope everybody understands me. PS对不起,我的英文,希望大家都能理解。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++

I get my solution by my own, thanks everybody, so my controller php script should look like this. 我自己获得解决方案,谢谢大家,所以我的控制器php脚本应如下所示。

if(!isset(Yii::app()->session['cart_values'])) {
            Yii::app()->session['cart_values'] = array();
        } else {
            $sessionCart = Yii::app()->session['cart_values'];

            $sessionCart[] = array('product_id' => Yii::app()->session['productID'], 'document' => Yii::app()->session['productName']);

            Yii::app()->session['cart_values'] = $sessionCart;

        }

这是你想要的?

Yii::app()->session['cart_values'][] = $sessionCart;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM