首先,假设我想要使用主键' customer_code' 4,并希望以一种形式为他们服务。我可以通过模型中的一个简单函数成功实现它:
public function get_Acustomer()
{
$query = $this->db->get_where('allinone',array('customer_code' => '4'));
return $query->result_array();
}
我的问题是,如何实现制作' customer_code'变量?
我正在使用DataTables及其fnGetData
我能够获得行记录。这是jquery:
$('#example tbody td').dblclick( function() {
var TTr = $(this).parents('tr')[0];
var tData = oTable.fnGetData( TTr );
var cc = tData[1]; //tData[1] is my 'customer_code'
if ( $(TTr).hasClass('row_selected') ) {
$(TTr).removeClass('row_selected');
}
else {
oTable.$('tr.row_selected').removeClass('row_selected');
$(TTr).addClass('row_selected');
$.ajax({
type: "POST",
url: '<?php echo base_url();?>dbcust/update',
data: {cc: cc},
success: function() {
}
});
}
当用户连续双击时,会发送&#39; cc&#39;到我的控制器功能&#39;更新&#39;然后控制器立即将其传递给模型&#39; get_Acustomer&#39;。
这是控制器:
public function update()
{
$this->load->helper('form');
$this->load->library('form_validation');
$this->dbcust_model->get_Acustomer();
$data['title'] = 'Update';
$data['cust'] = $this->dbcust_model->get_Acustomer();
//Some validation rules & mesagges
[skip...skip]
//finally
if ($this->form_validation->run() === FALSE)
{
$this->load->view('cust/template/crud/update-form');
}
else
{
$this->dbcust_model->edit_dbcust();
$this->load->view('cust/template/crud/success');
}
}
以下是模型:
public function get_Acustomer()
{
$custCode = $this->input->post('cc');
$query = $this->db->get_where('allinone',array('customer_code' => $custCode));
return $query->result_array();
}
为什么这么简单不起作用?每个人都可以指出我吗?
我的目标是,在用户双击一行/选择一行后,他们点击链接到http://myhost/dbcust/update
的内容时,他们将为该表单提供行记录。
我希望我的问题对大家都很清楚。谢谢。
答案 0 :(得分:0)
在模型中读取POST变量不是一个好主意。
而是在控制器中获取CC值。验证它。然后将该值传递给模型中的方法。
<强>控制器强>
public function update() {
$this->load->helper('form');
$this->load->library('form_validation');
$cc = $this->input->post('cc');
//Validate $cc if everything is OK
$data['title'] = 'Update';
$data['cust'] = $this->dbcust_model->get_Acustomer($cc);
//Some validation rules & mesagges
[skip...skip]
//finally
if ($this->form_validation->run() === FALSE) {
$this->load->view('cust/template/crud/update-form');
} else {
$this->dbcust_model->edit_dbcust();
$this->load->view('cust/template/crud/success');
}
}
<强>模型强>
public function get_Acustomer($custCode) {
$query = $this->db->get_where('allinone',array('customer_code' => $custCode));
return $query->result_array();
}
请告知我这是否有效或是否存在任何其他问题。