डेटाटेबल्स आपको जो कुछ भी चाहिए उसे भेजते हैं - यदि आप नेटवर्क के तहत अपने कंसोल में एक नज़र डालते हैं, तो आप देखेंगे कि वे सर्वर पर उन अनुरोधों को भेजने के लिए AJAX-get विधि का उपयोग करते हैं
GET
पैरामीटर इस प्रकार हैं
draw
columns
start
length
search
जिसका अर्थ है - आपको अपने मॉडल को ठीक से अनुकूलित करना होगा...
ऐसा कुछ काम करना चाहिए
public function all_user_request($task_id)
{
$intStart = intval($this->input->get("start"));
$intLength = intval($this->input->get("length"));
$strSearch = (strlen($this->input->get("search")["value"]) >= 2) ? $this->input->get("search",true)["value"] : false;
$order = $this->input->get("order",true);
$this->setQuery($task_id,$strSearch);
$query = $this->db->get();
$this->recordsTotal = $query->num_rows();
$this->setQuery($task_id, $strSearch);
if ($intStart >= 0 && $intLength > 0)
{
$this->db->limit($intLength,$intStart);
}
$strOrderField = 'username';
$strDirection = "ASC";
if (is_array($order))
{
switch($order[0]['column'])
{
case 1:
$strOrderField = 'type';
break;
case 2:
$strOrderField = 'request';
break;
}
if (!empty($order[0]['dir'])) $strDirection = $order[0]['dir'];
}
$this->db->order_by($strOrderField,$strDirection);
$query = $this->db->get();
$arrData = $query->result();
return $arrData;
}
public function getRecordsTotal()
{
return $this->recordsTotal;
}
private function setQuery($task_id, $strSearch="")
{
$this->db
->select('*')
->from('user_request')
->where('task_id', $task_id);
if (!empty($strSearch))
{
$this->db->like('task_id', $strSearch);
}
}
और आपका नियंत्रक
//controller
$task = $this->input->post('task', TRUE);
$user_request = $this->model->all_user_request($task);
$data = [];
foreach ($user_request as $ur)
{
$data[] = [
$ur->username,
$ur->type,
$ur->request
];
}
$arrCompiledData = [
'data' => $data,
'draw' => $this->input->get('draw'),
'recordsTotal' => $this->model->getRecordsTotal(),
'recordsFiltered' => $this->model->getRecordsTotal(),
];
$this->output
->set_content_type('application/json')
->set_output(json_encode($arrCompiledData));
कृपया ध्यान रखें कि मैंने इसे अभी लिखा है - शायद कुछ टाइपो हैं, लेकिन आपको यह समझने में सक्षम होना चाहिए कि डेटाटेबल्स अनुरोध की सर्वरसाइड प्रोसेसिंग कैसे काम करनी चाहिए।