まず、主キー「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
、行のレコードを含むフォームが提供されることです。
私の質問が皆さんにとって非常に明確であることを願っています。ありがとうございました。