用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1700|回复: 5
收起左侧

[已解决] 求助,使用result_array 不能遍历数据库,

[复制链接]
发表于 2014-10-29 19:40:35 | 显示全部楼层 |阅读模式
模型

<?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=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;


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

调用控制器的index方法,只显示
编号申请人接收人任务内容申请时间
不显示数据库的内容

请指点,哪一步写错了。



发表于 2014-10-30 09:32:45 | 显示全部楼层
data.png

$date['task']= $this->task_model->list_task();//注意这行代码
把$date改成$data
楼主不够细心啊,
发表于 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
楼主不够细心啊, ...

这种坑爹问题,遇到了就很悲剧
 楼主| 发表于 2014-12-11 10:09:36 | 显示全部楼层
aqxinzhuan 发表于 2014-10-30 09:35
model里返回值既然是数组
return $query->result_array();
就不要$row->['apply']

谢谢指点
发表于 2014-12-15 09:32:00 | 显示全部楼层

不客气

本版积分规则