在查询中为字段设置条件


Put a condition for a field within query

有一个sql查询:

$cond = "";
    if($cid >0 )
    {
        $quali = $this->getCandidatesQualification($cid);
        $cond = "WHERE emp_qualification LIKE '%$quali%'";
    }
    $sql = "SELECT
            emp_job_id,emp_job_profie,emp_qualification,emp_experience
        FROM
            tbl_emp_data
            $cond
        ORDER BY job_add_date DESC LIMIT 0,10   
    ";
    $res = $this->db->returnArrayOfObject($sql,$pgin = 'no', $odr='no');

现在我想要的是如果emp_qualification字段等于any_graduate,我想为候选人选择所有的工作,即使他的资格是说BA

修改WHERE子句

WHERE emp_qualification LIKE '%$quali%' 
OR emp_qualification = 'any_graduate'
$cond = '';
if($cid >0 ) {
    if ($this->getCandidatesQualification($cid) != 'any_graduate') {
        $cond = "WHERE emp_qualification LIKE '%{$this->getCandidatesQualification($cid)}%'";
    }
}

简化,试试这个