【问题标题】:How to send cart data in hidden field and fetch it in codeigniter controller如何在隐藏字段中发送购物车数据并在 codeigniter 控制器中获取它
【发布时间】:2013-07-02 07:20:11
【问题描述】:

我正在使用 codeigniter 购物车库,我想从购物车中获取数据并通过隐藏字段将其传递给控制器 以下是我的购物车数组

$cart = $this->cart->contents();

我在购物车中添加了三件商品,以下是 var_dump() 信息

array(3) { ["d3d9446802a44259755d38e6d163e820"]=> array(6) { ["rowid"]=> string(32) "d3d9446802a44259755d38e6d163e820" ["id"]=> string(2) "10" ["qty"]=> string(1) "1" ["price"]=> string(4) "1200" ["name"]=> string(11) "soup item 1" ["subtotal"]=> int(1200) } ["c51ce410c124a10e0db5e4b97fc2af39"]=> array(6) { ["rowid"]=> string(32) "c51ce410c124a10e0db5e4b97fc2af39" ["id"]=> string(2) "13" ["qty"]=> string(1) "1" ["price"]=> string(4) "1400" ["name"]=> string(11) "soup item 2" ["subtotal"]=> int(1400) } ["aab3238922bcc25a6f606eb525ffdc56"]=> array(6) { ["rowid"]=> string(32) "aab3238922bcc25a6f606eb525ffdc56" ["id"]=> string(2) "14" ["qty"]=> string(1) "1" ["price"]=> string(3) "800" ["name"]=> string(11) "soup item 3" ["subtotal"]=> int(800) } }

我已从购物车中提取 ID、名称、数量和价格并插入隐藏字段,

<form action="http://localhost/food4u/site/order_now" method="post">
                            <input type="hidden" value="1" name="orderuserid">
            <input type="hidden" value="1" name="order_restid">
            <input type="hidden" value="238" name="orderDcharges">
            <input type="hidden" value="578" name="ordergst">
            <input type="hidden" value="3400" name="ordersubtotal">
            <input type="hidden" value="1" name="orderPmethod">

                                 <input type="hidden" value="10" name="cartitemid[]">
                 <input type="hidden" value="soup item 1" name="cartitemname[]">
                 <input type="hidden" value="1" name="cartitemqty[]">
                 <input type="hidden" value="1200" name="cartitemprice[]">
                                     <input type="hidden" value="13" name="cartitemid[]">
                 <input type="hidden" value="soup item 2" name="cartitemname[]">
                 <input type="hidden" value="1" name="cartitemqty[]">
                 <input type="hidden" value="1400" name="cartitemprice[]">
                                     <input type="hidden" value="14" name="cartitemid[]">
                 <input type="hidden" value="soup item 3" name="cartitemname[]">
                 <input type="hidden" value="1" name="cartitemqty[]">
                 <input type="hidden" value="800" name="cartitemprice[]">

--> 在我的控制器中,我得到了这样的隐藏字段值

            $cartitemid = $this->input->post('cartitemid');
        $cartitemname = $this->input->post('cartitemname');
        $cartitemqty = $this->input->post('cartitemqty');
        $cartitemprice = $this->input->post('cartitemprice');

        print_r($cartitemid).'<br />';
        print_r($cartitemname).'<br />';
        print_r($cartitemqty).'<br />';
        print_r($cartitemprice).'<br />';
        exit;

它会给我结果

Array ( [0] => 10 [1] => 13 [2] => 14 ) Array ( [0] => soup item 1 [1] => soup item 2 [2] => soup item 3 ) Array ( [0] => 1 [1] => 1 [2] => 1 ) Array ( [0] => 1200 [1] => 1400 [2] => 800 ) 

我只想将它插入一个表中

$data = array(
                'Iem_Id' => ???,
                'Item_Name' => ???,
                'Item_Qty' => ???,
                'Item_Price' => ???,
                );

我想在一张表中插入以上所有数据,请指导我

【问题讨论】:

  • 你可以在这个问题上使用会话,或者为每个数组键创建(生成)隐藏输入
  • 我必须在隐藏字段中发送四个数组,即 id、数量、名称和价格,并使用 foreach 将它们放入控制器,但我想将所有这四个发送到我的模型,以便它们可以插入一张表,请指导我如何将这四个 foreach 传递给模型
  • 请看这个phpriot.com/articles/intro-php-sessions/7,它指导你在纯PHP中如何在会话中存储数组,但是阅读这个ellislab.com/codeigniter/user-guide/libraries/sessions.html,看看它是如何在CodeIgniter中完成的。
  • 我已经在使用 codeigniter 购物车库我不需要将它存储在会话中我想将它们插入到表中
  • 哦,我明白了,所以您的数据已经在正确的控制器中,您只想将其插入表中?如果这是问题,我很乐意帮助你。请编辑您的 Q 并发布 var_dump($this-&gt;cart-&gt;contents()); 显示的任何内容(购物车中至少有 2 件商品)谢谢

标签: arrays codeigniter controller hidden


【解决方案1】:

给你

foreach($cartitemid as $key => $cartItem) {
    $data = array(
        'Iem_Id' => $cartItem,
        'Item_Name' => $cartitemname[$key],
        'Item_Qty' => $cartitemqty[$key],
        'Item_Price' => $cartitemprice[$key],
    );
    var_dump($data);
    echo "<br>";
    //$this->db->insert('table', $data);
    unset($data);
}

unset($cartItemId);
unset($key);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-11
    相关资源
    最近更新 更多