首先,假设我想获取主键'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() {
}
});
}
当用户连续双击时,它会将“cc”的发布值发送到我的控制器函数“update”,然后控制器立即将其传递给模型“get_Acustomer”。
这是控制器:
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
,他们将为表单提供该行的记录。
我希望我的问题对大家来说都很清楚。谢谢你。