我将数据从模型传递到我的视图时遇到问题。在数据库中我有一些项目,我需要计算一些任务。我的问题是:如何使用foreach将结果传递给视图。 (echo $ this-> db-> count_all_results();在MODEL中显示效果不错)
MODEL:
function wyswietl($arrayid){
$query = $this->db->query("SELECT COUNT( id_zadania ) AS zlicz
FROM projekty_zadania
WHERE id =$arrayid");
return $query->result();
CONTROLLER
function WszystkieProjekty(){
$data['moje'] = $this->Todo_model->wyswietlWszystkieProjekty();
$arrayid = array();
foreach( $data['moje'] as $row ){
$row->id;
$aaa = $row->id;
$arrayid[] = $this->Todo_model->wyswietl($aaa);
}
$data['tabid'] = $arrayid;
$this->load->view('Projekty.html', $data);
}
MODEL:
function wyswietlWszystkieProjekty(){
$query = $this->db->query("SELECT * FROM todo");
return $query->result();
}
答案 0 :(得分:0)
在您的查询中,您已计算了数据,因此我认为您可以从$ query-> rows() - > zlics获取模型中的总数据。在控制器中,只需像往常一样将其传递给视图
$data['moje'] = $this->Todo_model->wyswietlWszystkieProjekty(); $this->load->view('Projekty.html', $data);
答案 1 :(得分:0)
您将结果集传递回控制器,因此您需要做的就是迭代结果集,生成实际的行。这不是太难,你有正确的想法。
你有:
function wyswietl($arrayid){
$query = $this->db->query("SELECT COUNT( id_zadania ) AS zlicz
FROM projekty_zadania
WHERE id =$arrayid");
return $query->result();
作为你应该返回计数的模型函数,对吧?最简单的方法就是从模型中保持控制器不必做腿部工作。当你在mysql中运行count函数时,你只会在你的情况下返回一行,所以使用num_rows()不会有帮助,因为这个查询总是会产生1行。
function wyswietl($arrayid){
$query = $this->db->query("SELECT COUNT(id_zadania) AS zlicz
FROM projekty_zadania
WHERE id =$arrayid");
$rs = $query->result();
return $rs[0]['COUNT(id_zaedania)'];
}