如果输入参数为空,则获取所有记录

时间:2019-01-08 04:41:18

标签: php codeigniter

我正在创建一个基于CustName和Date(过帐的数据)进行过滤的函数,如果CustName为空,我找不到一种显示所有数据的方法。

我尝试将NULL和Empty添加到我的CustName变量中,但是似乎没有任何作用。

$user = $this->session->userdata('user_id');
$custname = $this->input->post('custname');

if ($custname = NULL){

        $this->db->select('t1.cust_name, t1.act_type, t1.act_detail, t1.date_added, t1.date_modified, t1.act_notes')
                ->from('activity as t1')
                ->join('user as t2', 't1.user_id = t2.user_id', 'LEFT')
                ->where('t2.user_id', $user);

        $query = $this->db->get();
        $result = $query->result_array();                        

        if ($result) {
        $this->output->set_output(json_encode([
            'result' => 1,
            'data' => $query->result_array()
        ]));
        return false;
    }        
}

这里是js:

var load_report = function () {
    $("#myreport").submit(function (evt) {
        evt.preventDefault();
        var url = $(this).attr('action');
        var postData = $(this).serialize();

        $.post(url, postData, function (o) {
            if (o.result == 1) {
                var output = '';
                Result.success('Data has been retrieved');
                for (var i = 0; i < o.data.length; i++) {
                    output += Template.todo(o.data[i]); 
                    $("#usr").html(output);
                }                    

            }else {
                Result.error(o.error);
            }
        }, 'json');
    });
};

客户名称字段为空时的预期结果是显示所有基于user_id的记录。 实际结果没有显示任何内容

1 个答案:

答案 0 :(得分:1)

您应该更改此行:

if ($custname = NULL){

if ($custname == NULL){

= 用于分配值, == 用于进行相等性检查