CI3.0框架中简单增删改查

本文介绍了一个使用 CodeIgniter 框架实现的增删改查(CRUD)操作示例,包括模型(Model)和控制器(Controller)的具体实现,并展示了如何通过视图(View)展示数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步:模型层里有个控制器User_model.php里面内容为:

<?
defined('BASEPATH') OR exit('No direct script access allowed');

class User_Model extends CI_Model
{
    protected $table_name = "user";
//调用类库
    public function __construct()
    {
        parent::__construct();
    }
    // //过滤字段
    protected function filter_field($data){
        $fields = $this->db->list_fields($this->table_name);//获取数据库字段
        foreach($data as $key=>$val){
            if(!in_array($key,$fields)){
                unset($data[$key]);
            }
        }
        return $data;
    }
    //添加
    public function add($data){

        $data = $this->filter_field($data);
        $res = $this->db->insert($this->table_name,$data);
        if($res){
            return $this->db->insert_id();
        }else{
            return false;
        }
    }

   //CI 删除数据
    public function delete($id)
    {
        return $this->db->delete('user', array('id' => $id));

    }

    //CI及点及改
    public function status($id,$username,$password)
    {
        $query = $this->db->where(array('id'=>$id))->update('user',array('username'=>$username,'password'=>$password));
        return $query;

    }

    //获取总条数
    public function count()
    {
        return $this->db->count_all_results($this->table_name);
    }
    //查看
    public function select($offset)
    {//读取配置每页显示条数
        return $this->db->get($this->table_name,$this->config->item('page_size'),$offset)->result_array();
    }

    //查询所有结果
    public function getAll()
    {
        return $this->db->get($this->table_name)->result_array();
    }
   //查询单条
   public function getOne($id)
   {
       return $this->db->where(array('id'=>$id))->get($this->table_name)->row_array();
   
   }

}

第二步:控制器里为:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {

    /**
     * Index Page for this controller.
     *
     * Maps to the following URL
     *         http://example.com/index.php/welcome
     *    - or -
     *         http://example.com/index.php/welcome/index
     *    - or -
     * Since this controller is set as the default controller in
     * config/routes.php, it's displayed at http://example.com/
     *
     * So any other public methods not prefixed with an underscore will
     * map to /index.php/welcome/<method_name>
     * @see https://codeigniter.com/user_guide/general/urls.html
     */
    //构造函数
    public function __construct()
    {
        parent::__construct();
           $this->load->model('User_Model','user');
     
    }
    //表单添加页面
    public function index()
    {
        $this->load->view('index/welcome_message.html');
    }
    //执行添加
    public function add()
    {   

        $data = $this->input->post();
        $attr_id = $this->user->add($data);
        // print_r($data);die;
    
        if($attr_id)
        {   
            echo "<script>alert('添加成功');location.href='select'</script>";
        }
        else
        {   
            echo "<script>alert('添加成功');location.href='index'</script>";

        }

    }
    //查询
    public function select()
    {
        $data=$this->user->getAll();
        //print_r($data);die;
        $this->load->view('index/show.html',['date'=>$data]);
    }
    //删除
    public function delete()
    {
        $id=$_GET['id'];
        $res=$this->user->delete($id);
        if($res)
        {
          echo "<script>alert('删除成功');location.href='select'</script>";

        }
        else{
          echo "<script>alert('删除成功');location.href='select'</script>";

        }
    }
    //修改的数据
    public function update()
    {
        $id=$_GET['id'];
        $data=$this->user->getOne($id);
        $this->load->view('index/update.html',['data'=>$data]);
    }
    //执行修改
    public function upd()
    {   
        $id=$_POST['id'];
        $username=$_POST['username'];
        $password=$_POST['password'];
        $result=$this->user->status($id,$username,$password);
        if($result)
        {    
            echo "<script>alert('修改成功');location.href='select'</script>";

        }else{
            echo "<script>alert('修改失败');location.href='update'</script>";

        }
    }
}

第三步:在views目录里新建index目录,分别是welcom_message.html show.html update.html.

其中welcom_message.html内容为:

<!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>
    <center>
        <form action="<?php echo site_url('Welcome/add')?>" method="post">
            <table>
                <tr>
                    <td>用户名</td>
                    <td><input type="text" name="username"/></td>
                </tr>
                <tr>
                    <td>密码</td>
                    <td><input type="password" name="password"/></td>
                </tr>
                <tr>
                    <td><input type="submit" value="提交" /></td>
                    <td></td>
                </tr>
            </table>
        </form>
    </center>
</body>
</html>

show.html里面内容为:

<!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>
     <center>
             <table>
                 <tr>
                     <td>用户名</td>
                     <td>密码</td>
                     <td>操作</td>
                 </tr>
                 
               <?php foreach ($date as $key => $val) {?>
                  <tr>
                     <td><?php echo $val['username']?></td>
                     <td><?php echo $val['password']?></td>
                     <td><a href="<?php echo site_url('Welcome/delete?id='.$val['id'])?>">删除</a>||<a href="<?php echo site_url('Welcome/update?id='.$val['id'])?>">修改</a>></td>
                 </tr>
              <?php }?>
             </table>
     </center>
</body>
</html>

update.html内容为:

<!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>
<form action="<?php echo site_url('Welcome/upd')?>" method="post">
    <center>
        <table>
        <input type="hidden" name="id" value="<?php echo $data['id']?>"/>
            <tr>
                <td>用户名</td>
                <td><input type="text" name="username" value="<?php echo $data['username']?>"/></td>
            </tr>
            <tr>
                <td>密码</td>
                <td><input type="text" name="password" value="<?php echo $data['password']?>"/></td>
            </tr>
            <tr>
                <td><input type="submit" value="修改"/></td>
                <td></td>
            </tr>
        </table>
    </center>
    </form>
</body>
</html>


注意:在配置目录/application/config/database.php中,1:$autoload['helper'] = array('url');

后面数组里面url一定得写上。

2:$autoload['libraries'] = array('database');

同理database也一定得写上。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值