|
本帖最后由 xiaoniao 于 2009-8-29 14:51 编辑
转载自:http://www.phpall.cn/forum/read.php?tid=31
本教程由PHPall发布,希望大家提出宝贵的意见,我们好完善与改正。
PHPall技术交流群① 75345798
附件中有所有的源代码,可以下载。
我这里默认大家都会配置ci,如果不会的朋友们,请看http://www.phpall.cn/forum/中的"codeigniter教程发布"栏目.
我这里先新建一个数据库 名为:ci_example 编码选择utf8,本教程的所有编码均为utf8,请大家讲数据库编码、php文件编码、ci默认编码全部设置为urt8编码。然后新建一个表,名为news。建表的sql文件我已经导出。在下面可以下载。大家建好ci_example数据库以后,导入表的sql文件即可。
现在来到编码部分。
首先在model层获取一个新闻表的数据。
新建getNewsModel.php文件,
代码如下:
- <!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">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>无标题文档</title>
- </head>
- <body>
- <?php
- class GetNewsModel extends Model{
- function getNewsModel(){
- parent::Model();
- $this->load->database();
- }
- function getNews(){
- $data=$this->db->get('news');
- return $data;
- }
- }
- ?>
- </body>
- </html>
然后在controller层中处理数据,并将数据给view层。
新建get.php。代码如下:
- <!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">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>无标题文档</title>
- </head>
- <body>
- <?php
- class Get extends Controller{
- function get(){
- parent::Controller();
- $this->load->database();
- }
- function getNews(){
- $this->load->model('getNewsModel');
- $data['query']=$this->getNewsModel->getNews();
- $this->load->view('viewNews',$data);
- }
- }
- ?>
- </body>
- </html>
$data['query']=$this->getNewsModel->getNews()这一句是将查询的结果
放入数组中,然后将这个数组传入views层
最后views层。
新建viewNews.php文件。
代码如下:
- <!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">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>无标题文档</title>
- </head>
- <body>
- <table>
- <?php
- foreach($query->result() as $row) : ?>
- <tr>
- <td>
- <?php echo $row->title; ?>
- </td>
- <td><?php echo $row->content; ?></td>
- <td><?php echo date("y-m-d h:i:s",$row->time);?> </td>
- </tr>
- <?php endforeach;?>
- </table>
- </body>
- </html>
其中$query来自controller中传过来的数组,result()函数是用
来取得结果集的,以对象数组的形式返回的。这个可以查ci手册。
foreach循环将所有数据取出来。
然后echo $row->title将对象集的索引为title的数据取出来。这
里需要使用-> 因为$row是一个对象数组所以要用->来取其中的
数据。
date("y-m-d h:i:s",$row->time)这里来说明一下。
数据库中的time是以插入新闻的unix时间戳插入数据的。
这句话是来格式化时间并显示它。 |
|