当表中没有记录时,我想将结果显示为零而不是空数组?

时间:2018-02-19 05:21:16

标签: php mysql sql codeigniter-3

这是代码块,这会产生一个空数组,但我希望结果为零,就像那样。

public function step_count($data,$count)
{ 
    $values=array();
    for ($i=0; $i < $count ; $i++) { 
        $query3=$this->db->query("SELECT `check` FROM `staffsalary` WHERE `user_id` = '$data[$i]' AND `month` = '02'");
        $result3 = $query3->result();
        array_push($values,$results3);
    }
    return $values;
}

这会产生一个空数组,但我想在结果页面中显示结果为0而不是空数组。如果在表中找不到记录,如何将结果设为0?

2 个答案:

答案 0 :(得分:0)

您可以使用CodeIgniter的num_rows()功能。它将返回找到的记录数。如果未找到记录,则返回0。

见下文:

public function step_count($data,$count)
{ 
    $values=array();
    for ($i=0; $i < $count ; $i++) { 
        $query3=$this->db->query("SELECT `check` FROM `staffsalary` WHERE `user_id` 
        = '$data[$i]' AND `month` = '02'");
        $result3 = $query3->num_rows();
        array_push($values,$results3);
    }
    return $values;
}

答案 1 :(得分:0)

选项1:使用count()

if(count($values) > 0)
    return $values;
else
    return 0;

选项2:使用empty()

if(empty($values))
    return 0;
else
    return $values;