我在我看来有4个选择同名 - wrappingType []。它们有4种不同的尺寸。我试过但我无法更新周期来更新数据库中的数据。 我希望当用户从这4个选择中选择时 - 这些值将在4个不同的行中在数据库中更新 - 对于4种不同的大小(XL,L,M,S)。 我不知道如何为这4种尺寸制作它们 - 它们是输入的。 它正在以这种方式看待: http://prntscr.com/7g7o49
我希望当用户从4个下拉列表中的每个下拉列表中选择一个选项时,它们的值将被更新,其中这个值为。(XL,L,M,S)。怎么做这个循环 - foreach,for?以及如何获得鸡蛋大小的价值 - 我已经为这个目标制作了这些输入文本框,但是我可以做到这一点。 :) 以下是我的观点:
<?php
foreach($items as $item){
if($item['eggSize'] == 'XL'){
$size_wrappingType = $item['wrappingType'];
$size_quantity = $item['quantity'];
<?php
}
}
<select name = 'wrappingType[]' >
<option value="<?= '0' ?>"
<?php echo $size_wrappingType == '0' ? 'selected="selected"' :
'' ?>><?php echo '0' ; ?></option>
<option value="<?= '4' ?>"
<?php echo $size_wrappingType == '4' ? 'selected="selected"' :
'' ?>><?php echo '4' ; ?></option>
<input type="text" name ="eggsize[]" value ="XL">
<?php
foreach($items as $item){
if($item['eggSize'] == 'L'){
$size_wrappingType = $item['wrappingType'];
$size_quantity = $item['quantity'];
<?php
}
}
<select name = 'wrappingType[]' >
<option value="<?= '0' ?>"
<?php echo $size_wrappingType == '0' ? 'selected="selected"' :
'' ?>><?php echo '0' ; ?></option>
<option value="<?= '4' ?>"
<?php echo $size_wrappingType == '4' ? 'selected="selected"' :
'' ?>><?php echo '4' ; ?></option>
</select>
<input type="text" name ="eggsize[]" value ="L">
//And these selects are 4 - for sizes - XL, L, M, S
我的模特是:
<?php
public function update_document($document,$order_id){
if($this->input->post('eggsize')) {
foreach($this->input->post('eggsize') as $size) {
if($this->input->post('wrappingType')) {
foreach($this->input->post('wrappingType') as $wrappingType) {
$data = array(
'wrappingType' =>$wrappingType,
);
$this->db->where('idOrder', $order_id);
$this->db->where('eggSize', $size);
$this->db->update('orderitems', $data);
}
}
}
}
答案 0 :(得分:1)
我认为您只需要一个for循环,循环遍历每个wrappingType
输入,然后获取相应的eggsize
输入并在更新查询中使用它。
public function update_document($document,$order_id) {
$eggSizeInputs = array();
if($this->input->post('eggsize')) {
$eggSizeInputs = $this->input->post('eggsize');
}
$eggSizeIndex = 0;
if($this->input->post('wrappingType')) {
foreach($this->input->post('wrappingType') as $wrappingType) {
$data = array(
'wrappingType' =>$wrappingType
);
$eggSize = $eggSizeInputs[eggSizeIndex++];
$this->db->where('idOrder', $order_id);
$this->db->where('eggSize', $eggSize);
$this->db->update('orderitems', $data);
}
}
}