UI展示:
参考代码:
前台UI:
<script type="text/javascript" charset="utf-8">
$(function(){
var editRow = '';
var permission = [{ "value": "管理员", "text": "管理员" }, { "value": "IT业务", "text": "IT业务" }];
$('#user_table').datagrid({
url:'./USER/uGetInfo.php',
border:false,
fitColumns:true,
singleSelect:true,
pagination:true,
idField:'id',
pageSize:10,
pageList:[10,15,20,25,100],
columns:[[
{field:'id',title:'序号',width:80},
{field:'id_db',title:'数据库id',width:80,hidden:true},
{field:'chinese_name',title:'中文名称',width:100,editor:{type:'validatebox',options:{required:true,validType:'strChinese'}}},
{field:'username',title:'账号',width:100,editor:{type:'validatebox',options:{required:true,validType:'strEngNum'}}},
{field:'password',title:'密码',width:300,editor:{type:'validatebox',options:{required:true}}},
{field:'email',title:'邮箱',width:300,editor:{type:'validatebox',options:{required:true}}},
{field:'permission',title:'权限',width:200,editor:{type:'combobox',options:{data: permission, valueField: "value", textField: "text",select:'admin'}}}
]],
onAfterEdit:function(rowIndex, rowData, changes){
editRow = '';
var new_line = JSON.stringify(rowData);
$.ajax({
type: "POST",
cache: false,
url: "./USER/uGetInfo.php",
data: 'new_line=' + new_line,
dataType:'json',
success: function(msg){
if(msg.success){
$.messager.alert('恭喜你',msg.message);
$('#user_table').datagrid('reload',{});
}else{
$.messager.alert('错误',msg.message);
}
}
});
}
});
/*************************点击添加用户******************************/
$('#user_add').bind('click', function(){
if(editRow == ''){
$('#user_table').datagrid('appendRow',{});
var rows = $('#user_table').datagrid('getRows');
editRow = rows.length - 1;
$('#user_table').datagrid('beginEdit',editRow);
}else{
$.messager.alert('警告','请先保存当前行记录然后才可以继续添加下一条记录!');
}
});
/*************************点击修改用户******************************/
$('#user_edit').bind('click', function(){
var row_select = $('#user_table').datagrid('getSelected');//返回的是被选中行的对象
if(row_select == null){
$.messager.alert('警告','请先选中需要修改行!','warning');
return false;
}else{
var index_select = $('#user_table').datagrid('getRowIndex',row_select.id);//返回的是被选中行的索引
editRow = index_select;
$('#user_table').datagrid('beginEdit',editRow);
}
});
/*************************点击删除用户******************************/
$('#user_delete').bind('click', function(){
var row_select = $('#user_table').datagrid('getSelected');//返回的是被选中行的对象
if(row_select == null){
$.messager.alert('警告','请先选中需要删除的行!','warning');
return false;
}else{
$.messager.confirm('确认','您确认想要删除记录吗?',function(r){
if (r){
$.ajax({
type: "POST",
cache: false,
url: "./USER/uGetInfo.php",
data: 'delete_line_id_db=' + row_select.id_db,
dataType:'json',
success: function(msg){
if(msg.success){
$.messager.alert('恭喜你',msg.message);
$('#user_table').datagrid('reload',{});
}else{
$.messager.alert('错误',msg.message);
}
}
});
}
});
}
});
/*************************点击保存用户******************************/
$('#user_save').bind('click', function(){
$('#user_table').datagrid('endEdit',editRow);
});
/**************对validatebox控件正则表达式验证数据有效性扩展**************/
$.extend($.fn.validatebox.defaults.rules, {
strChinese: {
validator: function(value){
var re = /[^\u4e00-\u9fa5]/;
if(re.test(value))
return false;
else
return true;
},
message: '只能输入中文!'
},
strEngNum: {
validator: function(value){
var re = /[^\w+$]/;
if(re.test(value))
return false;
else
return true;
},
message: '只能输入英文、数字或下划线!'
}
});
});
</script>
<div class="it_model_top">
<a id="user_add" href="#" class="easyui-linkbutton" style="margin-left: 10px;margin-right:10px;" data-options="iconCls:'icon-add'">增加</a>
<a id="user_edit" href="#" class="easyui-linkbutton" style="margin-left: 10px;margin-right:10px;" data-options="iconCls:'icon-edit'">修改</a>
<a id="user_delete" href="#" class="easyui-linkbutton" style="margin-left: 10px;margin-right:10px;" data-options="iconCls:'icon-cancel'">删除</a>
<a id="user_save" href="#" class="easyui-linkbutton" style="margin-left: 10px;margin-right:10px;" data-options="iconCls:'icon-save'">保存</a>
</div>
<table id="user_table"></table>
后台:
uGetInfo.php
<?php
//构造json对象,因为javascript处理类型为json
require_once '../../class/c_mysql.class.php';
if(isset($_POST['page']) && isset($_POST['rows'])){
$page = $_POST['page'];
$rows = $_POST['rows'];
$limit_begain = ($page - 1) * $rows;
$sql = "select * from user order by `id` asc limit $limit_begain,$rows";
$sql_count = "select count(*) from user";
get_json($sql,$sql_count);
}
/****************************添加和修改用户******************************/
if(isset($_POST['new_line'])){
$add = json_decode($_POST['new_line']);
$result = addNewAccount($add);
$json = new json_message();
if($result === false){//插入数据失败
$json->success = false;
$json->message = "USER/uGetInfo.php-->addNewAccount()-->操作数据库失败!";
}
if($result === true){//插入数据失败
$json->success = true;
$json->message = "新增用户成功!";
}
if($result === true && isset($add->id_db)){//插入数据失败
$json->success = true;
$json->message = "修改用户成功!";
}
echo json_encode($json);
}
/****************************删除用户****************************************/
if(isset($_POST['delete_line_id_db'])){
$id_db = $_POST['delete_line_id_db'];
$result = deleteAccount($id_db);
$json = new json_message();
if($result === false){//插入数据失败
$json->success = false;
$json->message = "USER/uGetInfo.php-->deleteAccount()-->操作数据库失败!";
}
if($result === true){//插入数据失败
$json->success = true;
$json->message = "删除用户成功!";
}
echo json_encode($json);
}
/****************************向user表中插入新用户******************************/
function addNewAccount($add){
$chinese_name = $add->chinese_name;
$username = $add->username;
$password = sha1($add->password);
$permission = $add->permission;
$email = $add->email;
$db = new c_mysql();
//判断是添加操作还是修改操作
if(isset($add->id_db)){//如果传过来的参数有id_db属性,表示是修改数据的操作
$id = $add->id_db;
$sql = "update user set `chinese_name`='$chinese_name',`username`='$username',`password`='$password',`permission`='$permission',`email`='$email' where `id` = '$id'";
}else{
$sql = "insert into user(`chinese_name`,`username`,`password`,`permission`,`email`) values('$chinese_name','$username','$password','$permission','$email')";
}
$db->connect();
$result = $db->query($sql);
$db->close();
return $result;//true:插入数据成功;false:插入数据失败
}
/****************************删除用户记录*********************************/
function deleteAccount($id_db){
$db = new c_mysql();
$sql = "delete from user where `id` = '$id_db'";
$db->connect();
$result = $db->query($sql);
$db->close();
return $result;//true:插入数据成功;false:插入数据失败
}
function get_json($sql,$sql_count){
$db = new c_mysql();
$db->connect();
$db->query($sql);
$db->close();
$grid_data = array();
$count = 1;
while($row = $db->fetch_array()){
$row['id_db'] = $row['id'];
$row['id'] = $count;
array_push($grid_data,$row);
$count++;
}
//计算总数
$db->connect();
$db->query($sql_count);
$db->close();
$row = $db->fetch_row();
$total = $row[0];
//合并json
$json = new json_data();
$json->total = $total;
$json->rows = $grid_data;
echo json_encode($json);
}
class json_data{
public $total = 10;
public $rows = array();
}
class json_message{
public $success = false;
public $message = 'nothing';
}
?>
本文介绍了一个用户管理系统的设计与实现过程,包括前后端交互、数据验证、用户增删改查等功能。通过JavaScript和PHP实现了用户信息的动态管理和数据库操作。

320

被折叠的 条评论
为什么被折叠?



