Php Codeigniter-购物车:赢得';不要让我获取隐藏的字段行ID

Php Codeigniter-购物车:赢得';不要让我获取隐藏的字段行ID,php,codeigniter,shopping-cart,Php,Codeigniter,Shopping Cart,我正在尝试在我的购物车上获取编辑功能。 我希望它基本上是转到一个名为users/view\u cart的页面,然后用户选择他们是只更新购物车(更改数量)还是退房(通过交易购买) 我正在跟踪显示此位置提供的购物车页面: 这很奇怪,因为它似乎将前几行中的“$i.[qty]”映射到正确的表单验证,但在其他方面却无法将隐藏字段中的正确数据映射到我 救命啊 我不确定这是否与此有关,但在您的SETU规则中,$I.“[qty]”似乎不适用。如果您试图引用数组中的键,那么它需要在括号内加引号,就像您的代码稍后

我正在尝试在我的购物车上获取编辑功能。 我希望它基本上是转到一个名为users/view\u cart的页面,然后用户选择他们是只更新购物车(更改数量)还是退房(通过交易购买)

我正在跟踪显示此位置提供的购物车页面:

这很奇怪,因为它似乎将前几行中的“$i.[qty]”映射到正确的表单验证,但在其他方面却无法将隐藏字段中的正确数据映射到我


救命啊

我不确定这是否与此有关,但在您的SETU规则中,$I.“[qty]”似乎不适用。如果您试图引用数组中的键,那么它需要在括号内加引号,就像您的代码稍后所做的那样:即,
$i.“['qty']”
或类似的内容?不确定。关键是,我认为这就是代码中的脱节之处。

您正在生成基于数组的表单名称。e、 g

,使隐藏表单值作为子数组显示在post数据中,如下所示:

[1] => Array
    (
        [rowid] => 1starrthing
        [qty] => 1
    )

[2] => Array
    (
        [rowid] => 1starrthing222
        [qty] => 1
    )

[3] => Array
    (
        [rowid] => 1starrthing3333
        [qty] => 1
    )
因此,除非您打算这样做,否则请尝试将隐藏的表单名称更改为
rowid[]
,这将为您提供一个rowid数组,如下所示:

[rowid] => Array
    (
        [0] => 1starrthing
        [1] => 1starrthing222
        [2] => 1starrthing3333
    )

[1] => Array
    (
        [qty] => 1
    )

[2] => Array
    (
        [qty] => 1
    )

[3] => Array
    (
        [qty] => 1
    )
或者在计数器前面加上如下名称:
name=“rowid.$i”
,它将为您提供:

[rowid_1] => 1starrthing
[1] => Array
    (
        [qty] => 1
    )

[rowid_2] => 1starrthing222
[2] => Array
    (
        [qty] => 1
    )

[rowid_3] => 1starrthing3333
[3] => Array
    (
        [qty] => 1
    )
此外,隐藏输入中的值很可能是空的,除非出于某种原因,$items数组将“qty”作为每个项的键。试一试

<?php echo form_hidden('rowid[]', $items); ?>

要获得添加的调试帮助,请尝试打开评测;这将为您提供更多关于帖子/查询和其他内容的信息

视图文件的底部:


$this->output->enable_profiler(TRUE)

似乎很明智,更改名称似乎可以让我更改购物车。为什么这么多示例代码片段都是这样写的?
[1] => Array
    (
        [rowid] => 1starrthing
        [qty] => 1
    )

[2] => Array
    (
        [rowid] => 1starrthing222
        [qty] => 1
    )

[3] => Array
    (
        [rowid] => 1starrthing3333
        [qty] => 1
    )
[rowid] => Array
    (
        [0] => 1starrthing
        [1] => 1starrthing222
        [2] => 1starrthing3333
    )

[1] => Array
    (
        [qty] => 1
    )

[2] => Array
    (
        [qty] => 1
    )

[3] => Array
    (
        [qty] => 1
    )
[rowid_1] => 1starrthing
[1] => Array
    (
        [qty] => 1
    )

[rowid_2] => 1starrthing222
[2] => Array
    (
        [qty] => 1
    )

[rowid_3] => 1starrthing3333
[3] => Array
    (
        [qty] => 1
    )
<?php echo form_hidden('rowid[]', $items); ?>