ciwuminmin 发表于 2014-10-29 19:40:35

求助,使用result_array 不能遍历数据库,

模型

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Task_model extends CI_Model{

      const TBL = 'task';
      //构造函数
      public function __construct(){
                //调用父类构造函数,必不可少
                parent::__construct();
                //手动载入数据库操作类
                $this->load->database();
      }

      /**
         * @access public
         * @param $data array
         * @return bool 成功返回true,失败返回false
         */
      public function add_task($data){
                //使用AR类完成插入操作
                return $this->db->insert(self::TBL,$data);
      }

      /**
         * @access public
         * @return array 查询的结果
         */
      public function list_task(){
                $query = $this->db->get(self::TBL);
                return $query->result_array();
      }
}



控制器
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Task extends CI_Controller{
      public function __construct(){
                parent::__construct();
                #载入news_model,载入之后,可以使用$this->user_model来操作
                $this->load->model('task_model');
      }
      // 显示添加新闻表单
      public function add(){
                $this->load->view('add.html');
      }

      //完成新闻的添加
      public function insert(){
                #获取表单提交的数据
               
                $data['apply'] = $_POST['apply'];
                $data['receive'] = $_POST['receive'];
                $data['task_content'] = $_POST['task_content'];
                $data['apply_time'] = time();
                #调用news_model的方法即可
                if ($this->task_model->add_task($data)){
                        echo "添加成功";
                }else{
                        echo "添加失败";
                }
      }

      //显示新闻列表
      public function index(){
                #调用list_news方法得到数据
      
                $date['task']= $this->task_model->list_task();
                #分配到视图
                $this->load->view('list.html',$data);
               
      }
}


视图
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
      <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
      <title></title>
</head>
<body>
      <table width='700' border='1'>
                <tr>
                        <th>编号</th>
                        <th>申请人</th>
                        <th>接收人</th>
                        <th>任务内容</th>
                        <th>申请时间</th>
                </tr>
               
         <?php foreach($task as $row) : ?>
                        <tr>
                              <td><?php echo $row['id']; ?></td>
                              <td><?php echo $row->['apply']; ?></td>
                              <td><?php echo $row->['receive'] ;?></td>
                              <td><?php echo $row->['task_content']; ?></td>
                              <td><?php echo $row->['apply_time']; ?></td>
                        </tr>
         <?php endforeach; ?>
      </table>
</body>
</html>


数据库

CREATE TABLE IF NOT EXISTS `task` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`apply` varchar(50) NOT NULL DEFAULT '',
`receive` varchar(50) NOT NULL DEFAULT '',
`task_content` text,
`apply_time` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAMDEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;


调用控制器 add方法,能写入数据到数据库,

调用控制器的index方法,只显示

编号申请人接收人任务内容申请时间

不显示数据库的内容

请指点,哪一步写错了。



aqxinzhuan 发表于 2014-10-30 09:32:45



$date['task']= $this->task_model->list_task();//注意这行代码
把$date改成$data
楼主不够细心啊,;P

aqxinzhuan 发表于 2014-10-30 09:35:57

model里返回值既然是数组
return $query->result_array();
就不要$row->['apply']
改成数组的$row['apply']

^淡如清风 发表于 2014-11-3 15:09:10

aqxinzhuan 发表于 2014-10-30 09:32
$date['task']= $this->task_model->list_task();//注意这行代码
把$date改成$data
楼主不够细心啊, ...

这种坑爹问题,遇到了就很悲剧

ciwuminmin 发表于 2014-12-11 10:09:36

aqxinzhuan 发表于 2014-10-30 09:35
model里返回值既然是数组
return $query->result_array();
就不要$row->['apply']


谢谢指点

aqxinzhuan 发表于 2014-12-15 09:32:00

ciwuminmin 发表于 2014-12-11 10:09
谢谢指点

不客气
页: [1]
查看完整版本: 求助,使用result_array 不能遍历数据库,