Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带where子句的if条件_Php_Mysql_Codeigniter - Fatal编程技术网

Php 带where子句的if条件

Php 带where子句的if条件,php,mysql,codeigniter,Php,Mysql,Codeigniter,如果(status==0),我只想这样做,然后只运行where条件并只打印与status==0记录相关的数据。当status==1出现时,它会绕过where子句并打印status 0和1的数据。我不知道如何为此构建查询。请帮我做这件事 我的型号代码 function listing(){ $admin_id = $this->session->userdata('admin_id'); $query = $this->db->select('student_

如果(status==0),我只想这样做,然后只运行where条件并只打印与status==0记录相关的数据。当status==1出现时,它会绕过where子句并打印status 0和1的数据。我不知道如何为此构建查询。请帮我做这件事

我的型号代码

 function listing(){    
 $admin_id = $this->session->userdata('admin_id');
 $query = $this->db->select('student_info.*,admin.status')
         ->from('student_info')
         ->where('student_info.admin_id',$admin_id)
         ->join('admin','admin.admin_id = student_info.admin_id')
         ->get();
 return $query->result();
 }
此代码正常工作并打印状态为0或1的单独数据

只有管理员id=1包含状态=1,其他id包含0状态。

尝试以下操作:

        function listing(){    
            $admin_id = $this->session->userdata('admin_id');
            $query = $this->db->select('student_info.*,admin.status')
                ->from('student_info')                    
                ->join('admin','admin.admin_id = student_info.admin_id')
                ->where("student_info.admin_id = IF (admin.status = 0, $admin_id, '>-1'")
                ->get();
            return $query->result();
        }

用以下代码替换函数

<?php
function listing($status)
{     
    $this->db->select('student_info.*,admin.status');
    $this->db->from('student_info');
    if($status==0) 
    {
        $this->db->where('student_info.admin_id',$admin_id);
    }
    $this->db->join('admin','admin.admin_id = student_info.admin_id');
    $query = $this->db->get();
    return $query->result();
}
?>

它解决了我的问题

function listing()  
 {  
$admin_id = $this->session->userdata('admin_id');
$this->db->select('student_info.*,admin.status');
$this->db->from('student_info');
$this->db->join('admin','admin.admin_id = student_info.admin_id');
$this->db->where('student_info.admin_id',$admin_id);
$this->db->or_where('admin.status < 1');
$query = $this->db->get();
return $query->result();

}
函数列表()
{  
$admin\u id=$this->session->userdata('admin\u id');
$this->db->select('student_info.*,admin.status');
$this->db->from('student_info');
$this->db->join('admin','admin.admin\u id=student\u info.admin\u id');
$this->db->where('student\u info.admin\u id',$admin\u id);
$this->db->or_where('admin.status<1');
$query=$this->db->get();
返回$query->result();
}


第17行的D:\xampp\htdocs\ci\application\models\student.php中出现错误:语法错误,意外的T\u,抱歉,先生,但仍然出现错误:意外的T\u对象运算符php版本是什么?您好,先生,感谢您的好意和时间。我只做了这个$this->db->where('student\u info.admin\u id',$admin\u id),就得到了答案$这->数据库->或_其中('admin.status<1');哦。。很好,我也在寻找
T\u OBJECT\u操作符
,我想这是因为php版本较低。哦,还有一个等于(=)的符号。你能试一下经过编辑的答案吗?稍作修改。您能用新编辑的答案再试一次吗?对不起,先生,这也不起作用:错误号码:1064你好,先生,谢谢您的好意和时间。我只做了这个$this->db->where('student\u info.admin\u id',$admin\u id),就得到了答案$这->数据库->或_其中('admin.status<1');
    <?php
    function listing($status)
    {     
if($status == 0){
$this->db->select('student_info.*,admin.status');
        $this->db->from('student_info');
        $this->db->where('student_info.admin_id',$admin_id);
        $this->db->join('admin','admin.admin_id = student_info.admin_id');
        $query = $this->db->get();
        return $query->result();
}else{
$this->db->select('student_info.*,admin.status');
        $this->db->from('student_info');
        $this->db->join('admin','admin.admin_id = student_info.admin_id');
        $query = $this->db->get();
        return $query->result();
}


    }
    ?>