1 加载静态页
从php官网下载下来的文件,将其中的部分代码拷贝到项目根目录下。
1.1 在application/controller中创建控制器Pages.php,必须继承CI_Controller
<?phpclass Pages extends CI_Controller{ public function view($page='home'){ if(!file_exists(APPPATH.'views/pages/'.$page.'.php')){ show_404(); } $data['title']=ucfirst($page);//把字符串中的首字符转换为大写。 $this->load->view('templates/header',$data); $this->load->view('pages/'.$page,$data); $this->load->view('templates/footer',$data); } }1234567891011121314
1.2 页面头部footer.php
<!-- 头部 --><html> <head> <title>CodeIgniter Tutorial</title> </head> <body> <!-- 从返回的数据中获取 --> <h1><?php echo $title; ?></h1>12345678
1.3 页面尾部footer.php
<!-- 尾部 --><em>©2015</em></body></html>1234
1.4 内容页home.php
<?phpecho 'hello world';12
1.5 路由中心:
将url映射映射到指定的控制类的方法中:
$route['default_controller'] = 'pages/view';$route['(:any)'] = 'pages/view/$1';12
如:http://localhost:8080/demo/index.php/home,将参数home映射到方法的$page参数中。
项目文件列表:
2 数据查询
2.1 首先配置数据库信息。
2.2 创建一个模型News_model.php,在application/models中创建,必须继承CI_Model。
<?phpclass News_model extends CI_Model { public function __construct() { //加载数据库类 $this->load->database(); } public function get_news($id){ if(!empty($id)){ //查询所有的信息 //查询user表 $query=$this->db->get('user'); $result=$query->result_array(); return $result; }else{ //根据条件查询 $query=$this->db->get_where('user',array('id'=>$id)); $result=$query->row_array(); //var_dump($result);die(); return $result; } } }12345678910111213141516171819202122232425
2.3 控制层:
<?phpclass News extends CI_Controller{ public function __construct(){ //执行父类的构造器__construct parent::__construct(); //加载模型 $this->load->model('News_model'); $this->load->helper('url_helper'); } public function view($id){ //执行News_model类中的get_news方法 $data['news_items']=$this->News_model->get_news($id); //下面这种格式也是可以的。 //$data=array('new_items'=>$this->News_model->get_news($id)); //$data['news_items']=$data['news_items']->fetch_object()->memTotal; $this->load->view('templates/header'); $this->load->view('new/index', $data); $this->load->view('templates/footer'); } }?>12345678910111213141516171819202122
2.4 页面index.php:
<?php foreach ($news_items as $news_item): ?> <h3><?php echo $news_item['id']; ?></h3> <?php echo $news_item['name']; ?> </div><?php endforeach; ?>12345
2.5 rount中的配置:
$route['news/(:any)']='news/view/$1';$route['default_controller'] = 'pages/view';12
3 添加数据
3.1 页面:
<form action="http://localhost:8080/demo/index.php/user/add_user" method="POST" enctype="multipart/form-data"> <input name="name" /><br /> <input name="password"></input><br /> <input type="submit" name="submit" value="Create news item" /></form>12345
3.2 控制中心:
<?php class User extends CI_Controller{ public function __construct(){ //执行父类的构造器__construct parent::__construct(); //加载模型 $this->load->model('User_Model'); $this->load->helper('url_helper'); } public function add_form(){ $this->load->helper('url'); $this->load->view('pages/user'); } public function add_user(){ //var_dump($this->input->post('name'));die(); /* if($this->input->post('name')==NULL){ }else{ */ $this->User_Model->add_user(); //} $this->load->view('pages/user'); } }?>1234567891011121314151617181920212223242526
3.3 模型:
<?php class User_Model extends CI_Model{ public function __construct() { //加载数据库类 $this->load->database(); } public function add_user(){ $data=array('name'=> $_POST['name'],'password' => $_POST['password']); var_dump($data); return $this->db->insert('user',$data); } }?>123456789101112131415
4 删除
将被删除的ID放在URL的第三个位置,可以通过如下放方式获取
载入:this−>load−>helper(‘urlhelper′);this−>load−>helper(‘urlhelper′);this->url->segment(3);
Model中的函数:
$this->db->delete(‘user’,id);
5 更新
this−>db−>update(′user′,this−>db−>update(′user′,data,where);where);data为一个类似于Map的集合,包含被更新的信息,key为字段,value为值,$where为筛选条件。也是一个map集合。
摘自CodeIgniter中国社区。http://codeigniter.org.cn/user_guide/