Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
Php 使用SQL获取空记录_Php_Mysql_Sql - Fatal编程技术网

Php 使用SQL获取空记录

Php 使用SQL获取空记录,php,mysql,sql,Php,Mysql,Sql,我有一个表格,我在上面选择不同的框,每个框在数据库中都有一些记录I-e(框的开口数),但对于所选框,可能不存在任何记录,即框甚至一次都没有打开。当前,当我选择不同的框时,如果某个框不存在记录,它甚至不会返回我想要的空数组,它甚至会返回所选框的空结果。我怎样才能做到这一点?我的问题是 public function getBoxOpenings($boxes, $from_date, $to_date){ $query = $this->db->select('box_id, COUN

我有一个表格,我在上面选择不同的框,每个框在数据库中都有一些记录I-e(框的开口数),但对于所选框,可能不存在任何记录,即框甚至一次都没有打开。当前,当我选择不同的框时,如果某个框不存在记录,它甚至不会返回我想要的空数组,它甚至会返回所选框的空结果。我怎样才能做到这一点?我的问题是

public function getBoxOpenings($boxes, $from_date, $to_date){
$query = $this->db->select('box_id, COUNT(box_id) AS Openings')
    ->from('mc_boxes_has_openings')
    ->where_in('box_id', $boxes)
    ->where('actiontime >=', $from_date)
    ->where('actiontime <=', $to_date)
    ->group_by('box_id')
    ->get();
$data = $query->result_array();
return $data;
}
我怎么能把三条记录都换成这样一条空的

 Array
(
[0] => Array
    (
        [mc_boxes_idmc_boxes] => 12
        [location] => FRA-Air
        [Openings] => 1
    )

[1] => Array
    (
        [mc_boxes_idmc_boxes] => 14
        [location] => FRA-Hof
        [Openings] => 1
    )

)
[2] => Array
    (
        [mc_boxes_idmc_boxes] => 16
        [location] => Test
        [Openings] => 
    )

谢谢

为什么不把整张唱片都数一下呢

public function getBoxOpenings($boxes, $from_date, $to_date){
$query = $this->db->select('box_id, COUNT(*) AS Openings')
    ->from('mc_boxes_has_openings')
    ->where_in('box_id', $boxes)
    ->where('actiontime >=', $from_date)
    ->where('actiontime <=', $to_date)
    ->group_by('box_id')
    ->get();
$data = $query->result_array();
return $data;
}
公共函数getBoxOpenings($box、$from\u date、$to\u date){
$query=$this->db->select('box\u id,COUNT(*)AS Openings')
->from('mc\U盒\U有\U开口')
->where_in('box_id',$box)
->其中('actiontime>=',$from_date)

->哪里('actiontime为什么不直接计算整个记录

public function getBoxOpenings($boxes, $from_date, $to_date){
$query = $this->db->select('box_id, COUNT(*) AS Openings')
    ->from('mc_boxes_has_openings')
    ->where_in('box_id', $boxes)
    ->where('actiontime >=', $from_date)
    ->where('actiontime <=', $to_date)
    ->group_by('box_id')
    ->get();
$data = $query->result_array();
return $data;
}
公共函数getBoxOpenings($box、$from\u date、$to\u date){
$query=$this->db->select('box\u id,COUNT(*)AS Openings')
->from('mc\U盒\U有\U开口')
->where_in('box_id',$box)
->其中('actiontime>=',$from_date)

->在哪里('actiontime请详细说明问题。请描述表格以及
box_id
代表的内容…@Fèlix Galindo Allué好,让我来编辑it@FèlixGalindoAllué请允许我回答我编辑的问题。我不理解您的select子句。它与您显示的示例不符。select中显示了框èid字段,sa中显示了框èu id字段示例:每次显示一个框时,您都会显示mcbox_idmc_框和位置…@FèlixGalindoAllué(第页)打开一个条目插入表中,该表中有一个id为的框被打开。现在,如果一个框被打开100次,那么将有100个id为的条目,我想计算它们以获得一个框的打开次数…明白了吗?请详细说明问题。描述该表以及
框id
代表什么…@Fèlix Galindo a好的,让我来编辑it@FèlixGalindoAllué请允许我回答我编辑的问题。我不理解您的select子句。它与您显示的示例不符。在select中显示box_id字段,在示例中,您每次显示一个框(第页)时都显示MCBOXèlixGalindoAlluè框和位置…@FèlixGalindoAllué打开一个条目插入到表中,即打开一个具有某个id的框。现在,如果一个框打开100次,将有100个具有该框id的条目,我想计算它们以获得一个框的打开次数…明白了吗?不同的框有不同的开口,所以我必须计算各个框的开口不同的框有di不同的开口,所以我必须计算各个盒子的开口