增:
模型
//过滤字段
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>