在codeigniter中从数据库中获取数据

新手上路,请多包涵

我有 2 种情况,我在 codeigniter 中获取同一张表的全部数据和总行数,我想知道有没有一种方法可以从中获取总行数、全部数据和 3 个最新插入的记录一码同桌

两种情况的控制器代码如下所示(尽管我使用不同的参数分别为每种情况应用它)

 public function dashboard()
    {
        $data['instant_req'] = $this->admin_model->getreq();
        $this->load->view('admin/dashboard',$data);
    }

1)从codeigniter中的表中获取全部数据

型号代码

public function getreq()
    {
        $this->db->where('status','pending');
        $query=$this->db->get('instanthire');
        return $query->result();
    }

查看代码

foreach ($instant_req as $perreq)
    {
        echo $perreq->fullname;
        echo "<br>";
    }

2)从codeigniter中的表中获取行数

public function getreq()
    {
        $this->db->where('status','pending');
        $query=$this->db->get('instanthire');
        return $query->num_rows();
    }

查看代码

echo $instant_req;

原文由 user6390829 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 408
2 个回答

您只能制作一个函数,一次为您提供所有数据总行数、全部数据和 3 条最新插入的记录

例如在模型中

public function getreq()
{
    $this->db->where('status','pending');
    $query=$this->db->get('instanthire');
    $result=$query->result();
    $num_rows=$query->num_rows();
    $last_three_record=array_slice($result,-3,3,true);
    return array("all_data"=>$result,"num_rows"=>$num_rows,"last_three"=>$last_three_record);
}

在控制器仪表板功能中

public function dashboard()
{
    $result = $this->admin_model->getreq();
    $this->load->view('admin/dashboard',$result);
}

在视野中

foreach ($all_data as $perreq)
{
    echo $perreq->fullname;
    echo "<br>";
}
//latest three record
foreach ($last_three as $perreq)
{
    echo $perreq->fullname;
    echo "<br>";
}
//total count
echo $num_rows;

原文由 Dhaval Purohit 发布,翻译遵循 CC BY-SA 3.0 许可协议

模型:

 public function getreq()
{
     $res = $this->db->order_by("<place column primary id>","desc")->get_where('instanthire',['status'=> 'pending']);
     $latest_3 = [];
     if(count($res)){
        $i=1;
        foreach($res as $r){
            $latest_3[]=$r;
            if($i == 3)
               break;
            $i++;
        }
     }

     $arr = [
        'latest_3' => $latest_3,
        'count' => count($res),
        'total_result' => $res,
     ];
     return $arr;
}

原文由 Aman Maurya 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题