我可以获得变量的一部分吗?

时间:2014-04-10 12:24:36

标签: php arrays codeigniter

是否可以获取变量的一部分并将其运行到where循环。

function rapport_detail_kosten($idKlant){
            $this->db->from('Project');
                $this->db->join('Kosten', 'Kosten.idProject = Project.idProject');

if ($idKlant > 0){
        $this->db->where('idKlant', $idKlant);}
        $query = $this->db->get();
            $project = array();
        foreach($query->result() as $row){
             $project[] = $row->idProject;
        }
        $hoi = implode(",", $project);
            print_r($hoi);
        $this->db->select_sum('Prijs'); 
        $this->db->from('Kosten');
        $this->db->where('Kosten.idProject',$hoi);
        $query = $this->db->get();

        if($query->num_rows()>0){
            return $query->result();
         }
        else{
             return false;
         }
     }

$hoi的值为:14,79,9,85,85,85,85,91,6 这些都是id,但我想只在id在这个变量中时才运行where语句。所以我想运行id = 6,但例如不是id=7

1 个答案:

答案 0 :(得分:0)

你可以使用codeigniter的方法where_in来搜索数组中的值,在这种情况下你可以直接使用$project,你不需要$hoi

试试这个:

 $sum = 0;
 $this->db->select_sum('Prijs'); 
 $this->db->from('Kosten');
 $this->db->where_in('Kosten.idProject',$project);
 $query = $this->db->get();
 foreach ($query->result() as $row){
     $sum = $row->Prijs;
 }

 return($sum);

MANUAL