我的表格有问题。当我输入表单并提交时,表单没有保存到我的数据库中。 在我的表单中显示代码交易,并向客户发送电子邮件。如果客户在我的网站上购买产品。 我只是通过点击表单代码交易确认订单。
以表单代码交易显示,代码交易和电子邮件客户的形式出现。然后我输入物流名称,否。物流订单以跟踪客户的订单,并选择已发送的订单包。
但是在我的问题中,表单成功保存了订单包信息“已发送”,但后勤名称为no。物流订单未保存。
这是我的观点。
<div id="<?php echo $row['codetrans'] ?>" class="reveal-modal">
<h3>Detail Order</h3>
<?php echo form_open('order/edit_stats_order');
$codetrans = array(
'name' => 'codetrans',
'class' => 'column',
'size' => '30'
);
$email = array(
'name' => 'email',
'class' => 'column',
'size' => '30'
);
$no_order = array(
'name' => 'no_order',
'class' => 'column',
'size' => '30'
);
$log = array(
'FedEx' => 'FedEx',
'RPX' => 'RPX');
?>
<span>Code :</span>
<?php echo form_input($codetrans,$row['codetrans']) ?><br/>
<span>Email :</span>
<?php echo form_input($email,$row['email']) ?><br/>
<span>Logistic Name :</span><br/>
<?php echo form_dropdown('log', $log,$row['log']); ?><br/><br/>
<span>No. Order :</span>
<?php echo form_input($no_order,$row['no_order']) ?><br/>
<?php $options = array(
'0' => 'Not Sendirng',
'1' => 'Has Sending'); ?><br/>
<?php echo form_dropdown('stats_order', $options,$row['stats_order']); ?><br/>
<?php echo form_hidden('input_hidden_id',$row['codetrans']);?>
<?php echo form_submit('submit', 'Submit', 'class=searchbutton'); ?>
<?php echo form_close();?>
<a class="close-reveal-modal">×</a>
</div>
<?php
}
?>
</ul>
<?php echo anchor('order/stats_order', 'Open All Stats', 'class="btn btn_aS"' ); ?>
</div>
这是我的控制器。
public function edit_stats_order() {
$this->load->model('Order_model');
$codetrans = $this->input->post('codetrans');
$email = $this->input->post('email');
$log = $this->input->post('log');
$no_order = $this->input->post('no_order');
$stats_order = $this->input->post('stats_order');
if($email !='' && $codetrans !='' && $log !='' && $no_order !=''){
$this->Order_model->edit_stats_order($codetrans,$email,$log,$no_order);
redirect('order/main');
}
else{
echo "<script>alert('Check Again!');</script>";
echo "<script>location.href = document.referrer</script>";
}
}
这是我的模特。
public function edit_stats_order($codetrans,$email,$log,$no_order){
date_default_timezone_set('xxxxx');
$data['email'] = $email;
$data['no_order'] = $no_order;
$data['log'] = $log;
$data['stats_order'] = $stats_order;
$data['date'] = date('Y-m-d');
$this->db->where('codetrans',$codetrans);
$this->db->update('ordering',$data);
}
为什么我的代码有问题? 谢谢
答案 0 :(得分:1)
您正在尝试在模型中未定义的模型函数中使用$stats_order
。因此,您必须将$stats_order
传递给模型函数。
在$stats_order
的函数调用中再添加一个参数,以将其传递给模型。
$this->Order_model->edit_stats_order($codetrans,$email,$log,$no_order,$stats_order);
还可以在模型函数中再添加一个参数。将模型中函数的第一行更改为
public function edit_stats_order($codetrans,$email,$log,$no_order,$stats_order){