Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.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 查询仅返回codeigniter中的最后一个值_Php_Codeigniter - Fatal编程技术网

Php 查询仅返回codeigniter中的最后一个值

Php 查询仅返回codeigniter中的最后一个值,php,codeigniter,Php,Codeigniter,我不熟悉CI/PHP/development。我被这个问题难住了。这似乎是真正的基本,但我只是不能得到它的权利! 在执行sql时,我只能返回最后一个值 控制器 模型 首先,通过执行以下操作从一个表中选择所有后续日期:从tg_partner_数据中选择后续日期,其中assign_to='$userid',active='Y' 然后,对于每个后续日期,执行另一个查询,但不合并以前的结果,而是在foreach循环中覆盖它们 Foreach循环应如下所示: $data['lead'] = array()

我不熟悉CI/PHP/development。我被这个问题难住了。这似乎是真正的基本,但我只是不能得到它的权利! 在执行sql时,我只能返回最后一个值

控制器

模型


首先,通过执行以下操作从一个表中选择所有后续日期:从tg_partner_数据中选择后续日期,其中assign_to='$userid',active='Y'

然后,对于每个后续日期,执行另一个查询,但不合并以前的结果,而是在foreach循环中覆盖它们

Foreach循环应如下所示:

$data['lead'] = array();
foreach ($data['leadd'] as $q) { 
    $date = $q['followup_date'];
$data['lead'][] = $this->dashboard_model->lead_count($this->session->userdata('user_id'),$date));
}
您还可以重写SQL查询: 从tg_partner_数据中选择COUNT*,其中assign_to='$userid',followup_date='$date'和active='Y'


它将允许您直接从数据库获取行数。

$data['lead']只包含一个数组元素?DB Select in lead_count函数返回的数组包含多个值还是只有一个值?您是否检查了DB表中的这些项?我不知道。如果您知道$userid和$date输入,请尝试在该表上执行SQL命令。它会告诉你回报。可能它只从SQL.array\u merge返回一条记录:参数1不是array@soorajspillai因为在foreach之前,首先必须用空数组初始化它loop@soorajspillai显示您是否在foreach循环之前正确地将$data['lead']初始化为数组。$data['lead']=array;我这样使用。@soorajipplai重写foreach循环如下:foreach。。。{$data['lead'][=…来自quesry的结果;}
public function countt($userid)
{
    $sql = $this->db->query("SELECT followup_date FROM tg_partner_data WHERE assign_to = '$userid' AND active = 'Y'");

    return $sql->result_array();
}

public function lead_count($userid,$date)
{   
    $sql1 = $this->db->query("SELECT * FROM tg_partner_data
                             WHERE assign_to = '$userid' AND followup_date = '$date'
                             AND active='Y'");
    //echo $this->db->last_query();

    return $sql1->result_array();
}
$data['lead'] = array();
foreach ($data['leadd'] as $q) { 
    $date = $q['followup_date'];
$data['lead'][] = $this->dashboard_model->lead_count($this->session->userdata('user_id'),$date));
}