ci3管理员的增删改查

增:

模型

//过滤字段
 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 addUser($data){
    $data = $this->filter_field($data);
    $res = $this->db->insert($this->table_name,$data);

    if($res){
        return $this->db->insert_id();
    }else{
        return false;
    }


}

控制器

public function add()
{


    if($_SERVER['REQUEST_METHOD'] == "POST"){

        // 收集表单
        $data = array(
            'username' => $this->input->post('username'),
            'password' => md5($this->input->post('password')),
        );

        // 实例化模型,完成入库
        $this->load->model('User_Model', 'users');
        $result = $this->users->addUser($data);

        if($result){

        // 插入成功,使用下面的函数进行跳转
        // 参数(控制器/方法)
            redirect('user/lst');
        }else{
            redirect('user/add');
        }
    }

    $base_url = $this->config->item('base_url');

    $this->load->view('user/add',array('base_url'=>$base_url));
}

视图

<form class="form-horizontal" role="form" action="" method="post">
    <div class="form-group">
        <label for="username" class="col-sm-2 control-label no-padding-right">管理员名</label>
        <div class="col-sm-6">
            <input class="form-control" id="username" placeholder="" name="username" type="text">
        </div>
    </div>
    <div class="form-group">
        <label for="username" class="col-sm-2 control-label no-padding-right">管理员密码</label>
        <div class="col-sm-6">
            <input class="form-control" id="username" placeholder="" name="password" type="text">
        </div>
    </div>

    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
            <button type="submit" class="btn btn-default">保存信息</button>
        </div>
    </div>
</form>

模型

public function delete($id)
{
    return $this->db->delete('blog_user', array('id' => $id));

}

控制器
public function delete()
{

    $id = $this->uri->segment(4, 0);
    $res = $this->user->delete($id);

    if ($res) {
        redirect('user/lst');
    } else {
        redirect('user/delete');

    }

}

视图

<a href="delete/id/<?php echo $val->id; ?>" class="btn btn-primary btn-sm shiny">
    <i class="fa fa-edit"></i> 删除
</a>

模型

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

}

public function getOne($id){
    return $this->db->where(array('id'=>$id))->get($this->table_name)->row_array();
}

控制器

//修改显示

public function edit()
{

    $id = $this->uri->segment(4, 0);
    $data=$this->user->getOne($id);

    $base_url = $this->config->item('base_url');

    $this->load->view('user/edit',array('base_url'=>$base_url,'data'=>$data));
}

//执行修改

public function upd(){
    $id=$_POST['id'];


    $username=$_POST['username'];
    $password=$_POST['password'];

    $result=$this->user->status($id,$username,$password);
    if($result){
        redirect('user/lst');
    }else{
        redirect('user/edit');
    }

}

视图

<form class="form-horizontal" role="form" action="/admin.php/user/upd" method="post">
    <input type="hidden" name="id" value="<?php echo $data['id'] ?>"/>

    <div class="form-group">
        <label for="title"
               class="col-sm-2 control-label no-padding-right">管理员名称</label>
        <div class="col-sm-6">
            <input class="form-control" placeholder="" name="username" value="<?php echo $data['username']?>"
                    type="text">

        </div>
    </div>

    <div class="form-group">
        <label for="title"
               class="col-sm-2 control-label no-padding-right">密码</label>
        <div class="col-sm-6">
            <input class="form-control" name="password" value="<?php echo $data['password']?>"
                   type="password">

        </div>
    </div>


    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
            <button type="submit" class="btn btn-default">保存信息</button>
        </div>
    </div>
</form>

模型(此处用的是分页的模型)

<?php

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


class Page_Model extends CI_Model{

    public function __construct()
    {
        parent::__construct();


    }


    public function page($tablename,$per_nums,$start_position){
        //传入3个参数,表名字,每页的数据量,起始位置
        $this->db->order_by('id','desc');
        $this->db->limit($per_nums,$start_position);
        $query=$this->db->get_where($tablename);
        $data=$query->result();
        $data2['total_nums']=$this->db->count_all($tablename);
        $data2[]=$data; //这里大家可能看的优点不明白,可以分别将$data和$data2打印出来看看是什么结果。
        return $data2;
    }
}

控制器

public function lst()
{


       $page_num = '3';//每页的数据
       $data= $this->Page_Model->page('blog_user',$page_num,$this->uri->segment(3));
       $total_nums=$data['total_nums']; //这里得到从数据库中的总页数
       $data['query']=$data[0]; //把查询结果放到$data['query']中
       $this->load->library('pagination');


       $config['base_url'] = $this->config->base_url('admin.php/User/lst');
       $config['total_rows'] = $total_nums;//总共多少条数据
       $config['per_page'] = $page_num;//每页显示几条数据

       $config['full_tag_open'] = '<ul class="pagination">';


       $config['full_tag_open'] = '<p>';
       $config['full_tag_close'] = '</p>';
       $config['first_link'] = '首页';
       $config['first_tag_open'] = '<span>';//“第一页”链接的打开标签。
       $config['first_tag_close'] = '</span>';//“第一页”链接的关闭标签。
       $config['last_link'] = '末页';//你希望在分页的右边显示“最后一页”链接的名字。
       $config['last_tag_open'] = '<span>';//“最后一页”链接的打开标签。
       $config['last_tag_close'] = '</span>';//“最后一页”链接的关闭标签。
       $config['next_link'] = '下一页';//你希望在分页中显示“下一页”链接的名字。
       $config['next_tag_open'] = '<span>';//“下一页”链接的打开标签。
       $config['next_tag_close'] = '</span>';//“下一页”链接的关闭标签。
       $config['prev_link'] = '上一页';//你希望在分页中显示“上一页”链接的名字。
       $config['prev_tag_open'] = '<span>';//“上一页”链接的打开标签。
       $config['prev_tag_close'] = '</span>';//“上一页”链接的关闭标签。
       $config['cur_tag_open'] = '<span class="current">';//“当前页”链接的打开标签。
       $config['cur_tag_close'] = '</span>';//“当前页”链接的关闭标签。
       $config['num_tag_open'] = '<span>';//“数字”链接的打开标签。
       $config['num_tag_close'] = '</span>';

       $this->pagination->initialize($config);


       $base_url = $this->config->item('base_url');

       $this->load->view('user/lst',array('base_url'=>$base_url,'data'=>$data['query']));
}

视图

<div class="flip-scroll">
    <table class="table table-bordered table-hover">
        <thead class="">
        <tr>
            <th class="text-center">ID</th>
            <th class="text-center">管理员名称</th>
            <th class="text-center">操作</th>
        </tr>
        </thead>
        <tbody>
        <?php foreach ($data as $key => $val) {?>
            <tr>
                <td align="center"><?php echo $val->id; ?></td>
                <td align="center"><?php echo $val->username; ?></td>
                <td align="center">
                    <a href="edit/id/<?php echo $val->id; ?>" class="btn btn-primary btn-sm shiny">
                        <i class="fa fa-edit"></i> 编辑
                    </a>
                    <a href="delete/id/<?php echo $val->id; ?>" class="btn btn-primary btn-sm shiny">
                        <i class="fa fa-edit"></i> 删除
                    </a>
                </td>
            </tr>
        <?php }?>

        </tbody>

    </table>

</div>


<div class="pagination">
    <?php echo $this->pagination->create_links();?>
</div>

猜你喜欢

转载自blog.csdn.net/qq_40270754/article/details/84066846
今日推荐