0

我遇到的问题是我的电子商务脚本允许人们将产品添加到他们的商店。但是,这些产品可以有变体......例如颜色,并且这些变体可以有选项,例如黑色、白色和蓝色。我遇到的问题是我如何确定他们输入了多少选项。最终,如果他们单击“添加选项”,我将有一个 javascript 函数添加一个新的输入字段,但现在我只创建了 3 个输入字段,如下所示:

Variant Title:<input type="text" name="variant_title"><br>
Variant Option: <input type="text" name="variant_option_1"><br>
Variant Option: <input type="text" name="variant_option_2"><br>
Variant Option: <input type="text" name="variant_option_3"><br>

现在我不知道该怎么做是遍历所有的variant_options,如果它们不为空,则将它们添加到数据库中。我不想用名称对其进行硬编码,因为我不知道他们将为每个变体选择多少选项。

我试过这样做:

$i = 1;
            while($this->input->post('variant_option_$i') != '')
            {
                $variant_options[] = $this->post->input('variant_option_$i');
                $i++;
            }

但这似乎不起作用,因为变体标题已添加到数据库中,但选项却没有。

我唯一需要解决的问题是如何一次真正地抓取这些字段。我在想一个 foreach 循环,但我不确定。

谢谢你。

4

1 回答 1

2

我会改用一组输入字段:

Variant Title:<input type="text" name="variant_title"><br>
Variant Option: <input type="text" name="variant_option[]"><br>
Variant Option: <input type="text" name="variant_option[]"><br>
Variant Option: <input type="text" name="variant_option[]"><br>

然后检查以下值:

if (is_array($this->input->post('variant_option')):
   foreach ($this->input->post('variant_option') as $value):
       $variant_options[] = $value; // loop through...
   endforeach;
endif;
于 2012-10-04T19:53:33.683 回答