PHP--簡單Demo

BtWangZhi發表於2017-10-20

1 載入靜態頁
從php官網下載下來的檔案,將其中的部分程式碼拷貝到專案根目錄下。
這裡寫圖片描述

1.1 在application/controller中建立控制器Pages.php,必須繼承CI_Controller

<?php
class 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

<?php
echo '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。

<?php
class 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 控制層:

<?php
class 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);

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

5 更新
this>db>update(user,

this->db->update('user',
data,where);

摘自CodeIgniter中國社群。http://codeigniter.org.cn/user_guide/

相關文章