我遇到的问题是我的电子商务脚本允许人们将商品添加到商店。但是,这些产品可以有变体......比如颜色,这些变体可以有选项,例如黑色,白色和蓝色。我遇到的问题是我究竟如何确定他们输入了多少选项。最后我会有一个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循环,但我不确定。
谢谢。
答案 0 :(得分: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;