很粗略的写了一个案例,对字段没有做过滤和判断,主要实现ThinkPHP3.2对数据库的增删改查
内容
模块一:配置文件的配置
<?php
return array(
'URL_PARAMS_BIND' => true, // URL变量绑定到操作方法作为参数
'URL_HTML_SUFFIX' => 'html|xml|shtml',
'URL_DENY_SUFFIX' => 'pdf|ico|png|gif|jpg', // URL禁止访问的后缀设置
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => 'localhost', // 服务器地址
'DB_NAME' => 'discuz', // 数据库名
'DB_USER' => 'root', // 用户名
'DB_PWD' => 'root', // 密码
'DB_PORT' => '3306', // 端口
'DB_PREFIX' => 'discuz_', // 数据库表前缀
'DB_CHARSET' => 'utf8', // 数据库编码默认采用utf8
'URL_MODEL' => 2, // URL访问模式,可选参数0、1、2、3,代表以下四种模式:
// 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 默认为PATHINFO 模式,提供最好的用户体验和SEO支持
);
数据库的设计
create database discuz;
CREATE TABLE IF NOT EXISTS `discuz_user` (
`user_id` smallint(6) unsigned NOT NULL AUTO_INCREMENT,
`user_name` varchar(255) NOT NULL,
`user_pwd` varchar(255) NOT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=19 ;
模块二:对数据库的查找
<?php
namespace Home\Controller;
use Think\Controller;
class UserController extends Controller
{
/**
* 获取用户列表
*/
public function init()
{
$user = D("User");
$infos = $user->select();
$this->assign('infos',$infos);
$this->display("discuz_user_list");
}
View层的/User/discuz_user_list.html
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<div>
<div>
<table width="100%" cellspacing="0">
<thead>
<tr>
<th width="10%">序号</th>
<th width="10%" align="left" >用户名</th>
<th width="10%" align="left" >密码</th>
<th width="15%" align="left" >管理操作</th>
</tr>
</thead>
<tbody>
<volist name="infos" id="vo">
<tr>
<td width="10%" align="center">{$vo.user_id}</td>
<td width="10%" >{$vo.user_name}</td>
<td width="10%" >{$vo.user_pwd}</td>
<td width="15%"><a href="edit/user_id/{$vo.user_id}">编辑</a> | <a href="delete/user_id/{$vo.user_id}">删除</a>
</td>
</tr>
</volist>
</tbody>
</table>
</div>
</div>
</body>
</html>
模块三:对数据库的添加
public function add()
{
$this->display("discuz_user_add");
}
public function DoAdd()
{
$user = D("User");
$data["user_name"] = $_POST["username"];
$data["user_pwd"] = $_POST["password"];
if ($user->add($data))
{
$this->success('添加成功', __ROOT__ ."/".MODULE_NAME.'/User/init');
}
else
{
$this->error('添加失败,请核实');
}
}
View层的/User/duscuz_user_add.html
<html>
<head>
<title>添加用户信息</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form action="DoAdd" method="post">
<div>添加用户信息</div>
username:<input type="text" name="username" value="" /></br>
password:<input type="text" name="password" value="" style="width: 200px"/></br>
<input type="submit" name="addSubmit" value="Add"/>
</form>
</body>
</html>
模块四:对数据库的删除
public function delete($user_id)
{
$user = D("User");
$user_id = $_GET["user_id"];
$delete = $user->where("user_id = $user_id")->delete();
if($delete)
{
$this->success('删除用户成功', __ROOT__ ."/".MODULE_NAME.'/User/init');
}
else
{
$this->error('删除失败,请核实');
}
}
模块五:对数据库的更改
public function edit($user_id)
{
$user = D("User");
$user_id = $_GET["user_id"];
$edit = $user->where("user_id = $user_id")->find();
$this->assign("edit", $edit);
$this->display("discuz_user_edit");
}
public function DoEdit()
{
$condition["user_id"] = $_POST["userid"];
$data["user_name"] = $_POST["username"];
$data["user_pwd"] = $_POST["password"];
$user = D("User");
$doEdit = $user->where($condition)->data($data)->save();
// echo $user->getLastSql();
if ($doEdit !== false)
{
$this->success("更新成功", __ROOT__ ."/".MODULE_NAME.'/User/init');
}
else
{
$this->error('更新失败,请核实');
}
}
}
View层的/User/duscuz_user_edit.html
<html>
<head>
<title>编辑用户信息</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form action="../../DoEdit" method="post">
<input type="hidden" name="userid" value="{$edit.user_id}" />
<div>编辑用户:{$edit.user_name}</div>
username:<input type="text" name="username" value="{$edit.user_name}" /></br>
password:<input type="text" name="password" value="{$edit.user_pwd}" style="width: 200px"/></br>
<input type="submit" name="editSubmit" value="update"/>
</form>
</body>
</html>
模块二:对数据库的查找
<?php
namespace Home\Controller;
use Think\Controller;
class UserController extends Controller
{
/**
* 获取用户列表
*/
public function init()
{
$user = D("User");
$infos = $user->select();
$this->assign('infos',$infos);
$this->display("discuz_user_list");
}
View层的/User/discuz_user_list.html
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<div>
<div>
<table width="100%" cellspacing="0">
<thead>
<tr>
<th width="10%">序号</th>
<th width="10%" align="left" >用户名</th>
<th width="10%" align="left" >密码</th>
<th width="15%" align="left" >管理操作</th>
</tr>
</thead>
<tbody>
<volist name="infos" id="vo">
<tr>
<td width="10%" align="center">{$vo.user_id}</td>
<td width="10%" >{$vo.user_name}</td>
<td width="10%" >{$vo.user_pwd}</td>
<td width="15%"><a href="edit/user_id/{$vo.user_id}">编辑</a> | <a href="delete/user_id/{$vo.user_id}">删除</a>
</td>
</tr>
</volist>
</tbody>
</table>
</div>
</div>
</body>
</html>
模块三:对数据库的添加
public function add()
{
$this->display("discuz_user_add");
}
public function DoAdd()
{
$user = D("User");
$data["user_name"] = $_POST["username"];
$data["user_pwd"] = $_POST["password"];
if ($user->add($data))
{
$this->success('添加成功', __ROOT__ ."/".MODULE_NAME.'/User/init');
}
else
{
$this->error('添加失败,请核实');
}
}
<html>
<head>
<title>添加用户信息</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form action="DoAdd" method="post">
<div>添加用户信息</div>
username:<input type="text" name="username" value="" /></br>
password:<input type="text" name="password" value="" style="width: 200px"/></br>
<input type="submit" name="addSubmit" value="Add"/>
</form>
</body>
</html>
模块四:对数据库的删除
public function delete($user_id)
{
$user = D("User");
$user_id = $_GET["user_id"];
$delete = $user->where("user_id = $user_id")->delete();
if($delete)
{
$this->success('删除用户成功', __ROOT__ ."/".MODULE_NAME.'/User/init');
}
else
{
$this->error('删除失败,请核实');
}
}
模块五:对数据库的更改
public function edit($user_id)
{
$user = D("User");
$user_id = $_GET["user_id"];
$edit = $user->where("user_id = $user_id")->find();
$this->assign("edit", $edit);
$this->display("discuz_user_edit");
}
public function DoEdit()
{
$condition["user_id"] = $_POST["userid"];
$data["user_name"] = $_POST["username"];
$data["user_pwd"] = $_POST["password"];
$user = D("User");
$doEdit = $user->where($condition)->data($data)->save();
// echo $user->getLastSql();
if ($doEdit !== false)
{
$this->success("更新成功", __ROOT__ ."/".MODULE_NAME.'/User/init');
}
else
{
$this->error('更新失败,请核实');
}
}
}
View层的/User/duscuz_user_edit.html
<html>
<head>
<title>编辑用户信息</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form action="../../DoEdit" method="post">
<input type="hidden" name="userid" value="{$edit.user_id}" />
<div>编辑用户:{$edit.user_name}</div>
username:<input type="text" name="username" value="{$edit.user_name}" /></br>
password:<input type="text" name="password" value="{$edit.user_pwd}" style="width: 200px"/></br>
<input type="submit" name="editSubmit" value="update"/>
</form>
</body>
</html>