查询仅查询codeigniter中的最后一个值(Query returing only last value in codeigniter)

编程入门 行业动态 更新时间:2024-10-28 10:21:58
查询仅查询codeigniter中的最后一个值(Query returing only last value in codeigniter)

我是CI / PHP /开发新手。 我坚持这个问题。 这似乎是非常基本的,但我不能把它做对! 我只能在sql执行时返回最后一个值。

调节器

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

模型

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(); }

I am new to CI/PHP/development. Im stuck on this problem. It seems to be really basic but i just cant get it right! I am able to returning only last value while sql excecution .

controller

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

Model

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(); }

最满意答案

首先,通过执行以下操作,从一个表中选择所有跟进日期:“SELECT followup_date FROM tg_partner_data WHERE assign_to ='$ userid'AND active ='Y'”。

然后,对于每个followup_date,执行另一个查询,但不合并prevoius结果,只是将它们覆盖在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查询:SELECT COUNT(*)FROM tg_partner_data WHERE assign_to ='$ userid'AND followup_date ='$ date'AND active ='Y'“

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

First you select all followup dates from one table by executing this: "SELECT followup_date FROM tg_partner_data WHERE assign_to = '$userid' AND active = 'Y'".

Then for each followup_date, you execute another query but you don't merge prevoius results just overwrites them in foreach loop.

Foreach loop should look like this:

$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)); }

You can also rewrite SQL query: SELECT COUNT(*) FROM tg_partner_data WHERE assign_to = '$userid' AND followup_date = '$date' AND active='Y'"

It will allow you to get number of rows directly from DB.

更多推荐

本文发布于:2023-08-05 13:13:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1432721.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:codeigniter   Query   returing

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!