Codeigniter-控制器无法发送数据进行查看

时间:2019-02-22 17:31:21

标签: php codeigniter

我遇到了这样的错误:

  

遇到PHP错误   严重程度:通知

     

消息:未定义的变量:任务

控制器

 public function show() {
    $data['tasks'] = array();
    $data['tasks'] = $this->Tasks_model->show_task()->result();
    $this->load->view('pages/all', $data);
 }

视图

<?php 
  if( isset($tasks) && ( is_array($tasks) && count($tasks)>0 ) ) {
    //echo"<pre>"; print_r($tasks); die();
    for($i=0;$i<count($tasks);$i++)
    { ?>
    <span><?php echo $task[0]['job']; ?></span><br />
   <?php } ?>
<?php } 
else { ?>
<span>No tasks records found.</span>
<?php } ?>

模型

public function show_task() {
    return $this->db->get('task');
}

我的代码有什么问题?

2 个答案:

答案 0 :(得分:0)

控制器

public function show() {
    $this->$data['tasks'] = array();
    $this->$data['tasks'] = $this->Tasks_model->show_task();
    $this->load->view('pages/all', $data);
}

查看

//在这里,您还可以使用for循环显示数据。

<?php 
if( isset($tasks) && ( is_array($tasks) && count($tasks)>0 ) )
{
    //echo"<pre>"; print_r($tasks); die();
    for($i=0;$i<count($tasks);$i++)
    { ?>
    <span><?php echo $task[0]['job']; ?></span><br />
   <?php } ?>
<?php } 
else { ?>
<span>No tasks records found.</span>
<?php } ?>

编辑=>

模型

public function show_task() {
    $query = $this->db->get('task');
    if( $query->num_rows() > 0 ) //Always check you are getting result or not.
    {
        return $query->result_array(); //result_array() returns the query result as a pure array
    }
    else
    {
        return array();
    }
}

您在这里直接返回return $this->db->get('task');。因此,您在View中什么也没得到。 首先,您必须将$this->db->get('task')分配给变量,例如$query,并将结果数组传递给控制器​​return $query->result_array();

参考=> https://www.codeigniter.com/userguide3/database/results.html#result-arrays

答案 1 :(得分:0)

控制器:

 public function show() {
    $data['tasks'] = array();
    $data['tasks'] = $this->Tasks_model->show_task();
    $this->load->view('pages/all', $data);
 }

型号:

public function show_task() {
    return $this->db->get('task')->result();
}

查看页面:

<?php 
if( isset($tasks) && ( is_array($tasks) && count($tasks)>0 ) )
{
    //echo"<pre>"; print_r($tasks); die();
    for($i=0;$i<count($tasks);$i++)
    { ?>
    <span><?php echo $task[0]['job']; ?></span><br />
   <?php } ?>
<?php } 
else { ?>
<span>No tasks records found.</span>
<?php } ?>