如何在codeigniter中实现条件数据表服务器端排序

时间:2018-06-21 09:32:23

标签: php codeigniter datatable

请帮助实现CodeIgniter DataTables在Ajax中使用的 where 条件。

我使用此代码来实现它,但是它不起作用。

var $table = "tbl_proforma_invoice";
var $select_column = array("pr_id", "c_branchname", "c_name", "model_name", "c_address", "c_contact", "c_sale", "c_model", "c_varient", "c_color", "c_showroom", "c_insurance", "c_warranty", "c_tax", "c_reg_fee", "c_mycard", "c_accessories", "c_others", "c_onroad", "c_status", "c_total", "c_amount");
var $order_column = array(null, "c_branchname", "c_name", "model_name", "c_address", "c_contact", "c_sale", "c_mycard", "c_accessories", "c_others", "c_onroad", "c_status");

function make_query()
{
    $this->db->select($this->select_column);
    $this->db->from($this->table);
    $this->db->join('tbl_model', "tbl_proforma_invoice.c_model= tbl_model.model_id", 'left');
    $this->db->where('c_status', 1);
    if (isset($_POST["search"]["value"]))
    {
        $this->db->like("c_branchname", $_POST["search"]["value"]);
        $this->db->or_like("c_name", $_POST["search"]["value"]);
        $this->db->or_like("c_address", $_POST["search"]["value"]);
        $this->db->or_like("model_name", $_POST["search"]["value"]);
        $this->db->or_like("c_contact", $_POST["search"]["value"]);
        $this->db->or_like("c_sale", $_POST["search"]["value"]);
        $this->db->or_like("c_mycard", $_POST["search"]["value"]);
        $this->db->or_like("c_accessories", $_POST["search"]["value"]);
        $this->db->or_like("c_others", $_POST["search"]["value"]);
        $this->db->or_like("c_onroad", $_POST["search"]["value"]);
        $this->db->or_like("c_status", $_POST["search"]["value"]);
    }
    if (isset($_POST["order"]))
    {
        $this->db->order_by($this->order_column[$_POST['order']['0']['column']], $_POST['order']['0']['dir']);
    }
    else
    {
        $this->db->order_by('pr_id', 'ASC');
    }
}

function make_datatables()
{
    $this->make_query();
    if ($_POST["length"] != -1)
    {
        $this->db->limit($_POST['length'], $_POST['start']);
    }
    $query = $this->db->get();
    return $query->result();
}        

上面的查询make_query()我将尝试在何处使用条件,但并不能说明为什么要在此查询中实施何处条件 我会第一次尝试,请事先帮助我!

0 个答案:

没有答案