如何在codeigniter
中的sql查询中添加if else语句这是我的代码:
$this->datatables->select(
'a.id,
c.capital_buildup,
a.loan_no,
a.member_no,
b.loan_type_name,
a.loan_amount,
a.terms,
a.date_applied,
IF(status = "Approved", "Approved","Pending")', //i want to add else statement here
FALSE);
我想要的结果查询是
If( status = "Approved")
//Approved
else if (status = "Disapproved")
//Disapproved
else
//Pending
答案 0 :(得分:3)
我认为您想要的更容易使用CASE
表达,比如;
CASE WHEN status = "Approved" THEN "This is approved"
WHEN status = "Disapproved" THEN "This is disapproved"
ELSE "This is pending"
END
答案 1 :(得分:0)
你可以试试这个:
$this->datatables->select(
'a.id,
c.capital_buildup,
a.loan_no,
a.member_no,
b.loan_type_name,
a.loan_amount,
a.terms,
a.date_applied,
CASE WHEN status = "Approved" THEN "approved statement"
WHEN status = "Disapproved" THEN "disapproved statement"
ELSE "pending statement"
END AS status',
FALSE);
Isaksson已经定义了case statement
。它采用CI格式。
答案 2 :(得分:0)
您还可以获取数组中的所有行。而不是使用FOREACH来取消设置错误的值。
`foreach($result as $k => $row)
{
if($row['status'] == "approved")
{
$approved[] = $row;
}
if($row['status'] == "disapproved")
{ $disapproved[] = $row;}
}`
我从未测试过。我希望这可行。