PHP--简单Demo

来源:互联网 发布:linux chmod 777 目录 编辑:程序博客网 时间:2024/05/16 19:40

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);    }}

1.2 页面头部footer.php

<!-- 头部 --><html>    <head>        <title>CodeIgniter Tutorial</title>    </head>    <body>        <!-- 从返回的数据中获取 -->        <h1><?php echo $title; ?></h1>

1.3 页面尾部footer.php

<!-- 尾部 --><em>&copy;2015</em></body></html>

1.4 内容页home.php

<?phpecho 'hello world';

1.5 路由中心:

将url映射映射到指定的控制类的方法中:

$route['default_controller'] = 'pages/view';$route['(:any)'] = 'pages/view/$1';

如: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;        }    }}

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');    }}?>

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; ?>

2.5 rount中的配置:

$route['news/(:any)']='news/view/$1';$route['default_controller'] = 'pages/view';

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>

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');        }    }?>

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);        }    }?>

4 删除
将被删除的ID放在URL的第三个位置,可以通过如下放方式获取
载入:this>load>helper(urlhelper);this->url->segment(3);

Model中的函数:
$this->db->delete(‘user’,id);

5 更新
this>db>update(user,data,where);data为一个类似于Map的集合,包含被更新的信息,key为字段,value为值,$where为筛选条件。也是一个map集合。

摘自CodeIgniter中国社区。http://codeigniter.org.cn/user_guide/