我有两种情况,我在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;
答案 0 :(得分:2)
您只能制作一个功能,可以同时为所有数据提供总行数,整数数据和3个最新插入的记录
例如在模型中
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;
在视图中
**Please update your schema declarations to the 3.2 schema.**
答案 1 :(得分:1)
原始查询可能在这里工作。
$resultSet = $this->db->query("select * from table_name");
$queryCount = count($resultSet );
答案 2 :(得分:1)
功能
describe('methods', () => {
it('can delete owned task', () => {
Meteor.call('insertHelper',{a: 1});
});
});
呼叫
function getData($limit = 0){
//Create empty array
$data = [];
//Where clause
$this->db->where('status','pending');
//Order Data based on latest ID
$this->db->order_by('id', 'DESC');
if($limit != 0){
$this->db->limit($limit);
}
//Get the Data
$query = $this->db->get('instanthire');
$data['count'] = $query->num_rows();
$data['result'] = $query->result();
return $data;
}
答案 3 :(得分:1)
尝试这个逻辑:
型号代码:
public function getreq()
{
$this->db->where('status','pending');
$this->db->order_by('id', 'DESC'); //actual field name of id
$query=$this->db->get('instanthire');
return $query->result();
}
控制器代码:
public function dashboard()
{
$data['instant_req'] = $this->admin_model->getreq();
$data['total_record'] = count($data['instant_req']);
$this->load->view('admin/dashboard',$data);
}
查看代码:
$i=0;
foreach ($instant_req as $perreq)
{
if($i<3){
echo $perreq->fullname;
echo "<br>";
}
$i++;
}
Echo 'Total record : '.$total_record;
答案 4 :(得分:0)
这是一个我可以首先想到的简单解决方案,但如果你想让我改进,我可以。
坚持使用您的第一个代码(模型),并在视图中计算迭代的项目数。
$count = 0;
foreach ($instant_req as $perreq)
{
echo $perreq->fullname;
echo "<br>";
$count++;
}
echo $count;
我还缺少什么吗?请告诉我
修改强>
这是另一种解决方案,返回一个数组
public function getreq()
{
$this->db->where('status','pending');
$query=$this->db->get('instanthire');
$data['results'] = $query->result();
$data['count'] = $query->num_rows();
return $data
}
我不是很自信,并没有真正尝试过,但我认为它可以起作用。
答案 5 :(得分: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;
}