Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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
如何在codeigniter中将值数组动态发送到查询_Codeigniter - Fatal编程技术网

如何在codeigniter中将值数组动态发送到查询

如何在codeigniter中将值数组动态发送到查询,codeigniter,Codeigniter,模型中的代码是 公共函数get\u report6\u 8($type,$filter\u id=NULL){ $values=数组($filter\u id) 控制器中的代码是 $data['report8']=$this->lead\u report\u model->get\u report6\u 8($type,$this->input->post('filter') 视图中的代码是 总计:$Total]?$report8->总计:0;?> 如果我像这样运行查询 select sum(t

模型中的代码是 公共函数get\u report6\u 8($type,$filter\u id=NULL){ $values=数组($filter\u id)

控制器中的代码是 $data['report8']=$this->lead\u report\u model->get\u report6\u 8($type,$this->input->post('filter')

视图中的代码是

  • 总计:$Total]?$report8->总计:0;?>
  • 如果我像这样运行查询

    select sum(total) total
    
    from (
    
        select value_of_sale total
        from lead
        left join natbuild_rep
        on natbuild_rep.mobile = lead.mobile
        left join natbuild_store
        on natbuild_store.id = natbuild_rep.store_id
        left join natbuild_principal
        on natbuild_principal.store_group = ifnull(natbuild_store.store_group2, natbuild_store.store_group)
    where (status = 1 OR status = 2)
        and value_of_sale is not null
        and natbuild_principal.id in (18, 30, 31, 35, 33, 25, 23, 15, 8, 6, 5, 29, 7, 3, 2, 1, 24, 27, 22, 21, 20, 26, 36)
    group by lead.id ) temp
    

    结果是正确的。请帮助我如何将值数组发送到$select。当我从包含所有其他值的下拉列表中选择“总计”时会发生这种情况。

    您的下拉列表是多选的,因此它将传递一个包含值的数组

    使用


    谢谢。这很有效,但我必须在此之前添加代码,以便从data post数组中捕获数组中的键值。我是这样做的。公共函数get_report6_10($type,$data){$dropdownSelections=array();foreach($data['filter']as$key=>$value){if($key!=''){array_push($dropdownSelections,$key);}$dropdownSelections=内爆(“,”,$dropdownSelections);$select='';if($type=='natbuild'){$select='和('.$dropdownSelections.')中的natbuild_principal.id;}//echo$select;
    select sum(total) total
    
    from (
    
        select value_of_sale total
        from lead
        left join natbuild_rep
        on natbuild_rep.mobile = lead.mobile
        left join natbuild_store
        on natbuild_store.id = natbuild_rep.store_id
        left join natbuild_principal
        on natbuild_principal.store_group = ifnull(natbuild_store.store_group2, natbuild_store.store_group)
    where (status = 1 OR status = 2)
        and value_of_sale is not null
        and natbuild_principal.id in (18, 30, 31, 35, 33, 25, 23, 15, 8, 6, 5, 29, 7, 3, 2, 1, 24, 27, 22, 21, 20, 26, 36)
    group by lead.id ) temp
    
     implode(",", $dropdownSelections);
    
     $select = 'and natbuild_principal.id in ('.implode(",", $dropdownSelections).')';