前言

最近在学习PHP和Mysql,就一边看书,一边敲着代码尝试完成一个简易用户管理系统,只是实现了一些很简单的操作,虽然有点low(自动屏蔽大牛哈哈),但觉得还是总结一下吧,可以加深下印象,有不对的地方还请大家指出来,一起学习,共同交流。

概述

PHP是一种在服务器端执行的嵌入HTML文档的面向对象、解释型的脚本语言,语言风格类似于c语言。它具有强大的功能,能实现所有的CGI(公共网关接口,服务器与客户端程序进行“交谈”的一种工具)的功能,并比一般CGI有更快的执行速度。
下面的连接操作是在WAMP平台环境下的。如果有还没部署环境的小伙伴可以参考下面链接:http://www.imooc.com/learn/54在视频的第二章有详细讲解。

创建数据库

因为要连接Mysql数据库,所以这里我们就先建一个名叫db_user的数据库

--创建数据库db_user
create database db_user;--指定当前数据库为db_user
use db_user;--用户信息表users
create table users
(
user_id int not null auto_increament primary key,
user_name char(10) not null,
user_psw char(10) not null,
user_sex char(1) not null,
user_age int null,
user_dept int not null,
user_group int not null
);
--部门表dept
create table dept
(
dept_id int not null auto_increment primary key,
dept_name char(20) not null,
dept_leader char(10) not null,
dept_location char(50) not null
);
--用户组表usergroup
create table usergroup
(
group_id int not null auto_increment primary key,
group_name char(20) not null,
group_desc char(50) not null
);
--权限表func
create table func
(
func_id int not null auto_increment primary key,
func_name char(20) not null,
func_link char(20) not null
);
--用户组权限表groupfunc
create table groupfunc
(
id int not null auto_increment primary key,
group_id int not null,
func_id int not null
);--插入一条测试数据
insert into db_user.users(`user_id`, `user_name`, `user_psw`, `user_sex`, `user_age`, `user_dept`, `user_group`) values (2, '隔壁老王', '2396', '男', 33, 0, 1);

系统实现

所有页面文件列表如下:

接下来,就一步一步讲解各个页面文件的功能与实现 。

1.主页面

创建系统的主页面文件index.html,实现代码如下:

<html>
<head>
<title>一个简单用户管理系统实例</title>
</head>
<body>
<h2>用户管理系统</h2>
<h3>用户管理</h3>
<a href="add_user.php">添加用户</a><br/>
<a href="show_user.php">查看用户</a><h3>部门管理</h3>
<a href="add_dept.php">添加部门</a><br/>
<a href="show_dept.php">查看部门</a><h3>用户组管理</h3>
<a href="add_usergroup.php">添加用户组</a><br/>
<a href="show_usergroup.php">查看用户组</a><h3>权限管理</h3>
<a href="add_fun.php">添加权限</a><br/>
<a href="show_fun.php">查看权限</a>
</body>
</html>

效果:

2.公共代码模块

新建common.php文件,代码如下,用以连接数据库服务器,这里我们把连接数据库的操作封装成一个公共代码模块,在下面各页面文件中通过<?php require_once "common.php";?> 引入,这样就不用重复编写连接代码了。

<?php
$con=mysql_connect("localhost:3306","root","642765") or die("数据库服务器连接失败!<br>");
mysql_select_db("db_user",$con) or die("数据库选择失败!<br>");
mysql_query("set names 'gbk'");//设置中文字符集
?>

在PHP中,可以使用下面两种函数来建立与Mysql数据库服务器的连接,
mysql_connect():建立非持久连接
mysql_pconnect():建立持久连接
此处建立的是非持久连接。

3.各页面的设计与实现

添加用户

添加用户的web页面文件add_user.php的实现代码如下:

<?php require_once "common.php";?>
<html>
<head>
<title>添加用户</title>
</head>
<body>
<h3>添加用户</h3>
<form id="add_user" name="add_user" method="post" action="insert_user.php">
用户姓名:<input type="text" name="user_name"/><br/>
用户口令:<input type="text" name="user_psw"/><br/>
用户性别:<input type="text" name="user_sex"/><br/>
用户年龄:<input type="text" name="user_age"/><br/>
所属部门:<select name="show_user_name">
<?php
$sql="select * from dept";
$result=mysql_query($sql,$con);
while($rows=mysql_fetch_row($result)){
echo "<option value=".$rows[0].">".$rows[1]."</option>";
}
?>
</select><br/>用户组名:<select name="user_group"><?php$sql="select * from usergroup";$result=mysql_query($sql,$con);while($rows=mysql_fetch_row($result)){echo "<option value=".$rows[0].">".$rows[1]."</option>";}?></select><br/><br/>
<input type="submit" value="添加"/>
</form>
</body>
</html>

然后,将程序部署在已开启的wamp平台环境中,并在浏览器中输入“http://localhost:端口号/文件路径”,即可查看效果。大家从网址可能已经发现我的端口号为8080,这是我自定义的,默认的端口号是80(这时就可以不用写端口号,直接localhost)。
效果:

当添加成功后,页面会自动跳转到下面的web页面

查看用户

查看用户的web页面文件show_user.php的实现代码如下,可以通过指定用户姓名或用户所属部门来查看该用户的全部个人信息。

<?php require_once "common.php";?>
<html>
<head><title>查看用户</title>
</head>
<body>
<h3>查看用户</h3>
<form id="show_user" name="show_user" method="post" action="select_user.php">
用户姓名:<input type="text" name="show_user_name"/><br/>
所属部门:<select name="show_user_dept">
<option value=0>所有部门</option>
<?php
$sql="select * from dept";
$result=mysql_query($sql,$con);
while($rows=mysql_fetch_row($result)){
echo "<option value=".$rows[0].">".$rows[1]."</option>";
}
?>
</select><br/>
<br/>
<input type="submit" value="查看"/>
</form>
</body>
</html>

效果:

点击查看按钮,即会跳转到下面页面

从图中可以看出,在该用户的查看结果页面中包含了执行修改该用户和删除该用户操作的超链接入口,分别对应着change_user.php和delete_user.php文件。

修改用户

修改用户的web页面文件change_user.php的实现代码如下:

<?php require_once "common.php";?>
<html>
<head><title>修改用户</title>
</head>
<body><h3>修改用户</h3><form id="add_user" name="add_user" method="post" action="update_user.php?user_id=<?php echo trim($_GET['user_id']);?>" >用户姓名:<input type="text" name="user_name"/><br/>用户口令:<input type="text" name="user_psw"/><br/>用户性别:<input type="text" name="user_sex"/><br/>用户年龄:<input type="text" name="user_age"/><br/>所属部门:<select name="user_dept"><option value=0>请选择部门</option><?php$sql="select * from dept";$result=mysql_query($sql,$con);while($rows=mysql_fetch_row($result)){echo "<option value=".$rows[0].">".$rows[1]."</option>";}?></select><br/>
用户组名:<select name="user_group"><option value=0>请选择用户组</option><?php$sql="select * from usergroup";$result=mysql_query($sql,$con);while($rows=mysql_fetch_row($result)) {echo "<option value=".$row[0].">".$rows[1]."</option>";}?></select><br/>
<br/>
<input type="submit" value="修改用户信息"/>
</form>
</body>
</html>

当在上面页面中输入完新的用户信息后,点击按钮,即可调用应用层中用于执行修改用户操作的业务逻辑处理代码update_user.php,该代码内容如下:

<?php require_once "common.php";
$user_id=trim($_GET['user_id']);
$user_name=trim($_POST['user_name']);
$user_psw=trim($_POST['user_psw']);
$user_sex=trim($_POST['user_sex']);
$user_age=trim($_POST['user_age']);
$user_dept=trim($_POST['user_dept']);
$user_group=trim($_POST['user_group']);
$sql="UPDATE users SET user_name='".$user_name."',user_psw='".$user_psw."',user_sex='".$user_sex."',user_age='".$user_age."',user_dept='".$user_dept."',user_group='".$user_group."'  WHERE user_id=";
$sql=$sql.$user_id;
if(mysql_query($sql,$con))echo "用户修改成功!<br>";
elseecho "用户修改失败!<br>";
?>

删除用户

在用户查看结果页面中,有个删除用户的超链接,点击即可调用下面的逻辑处理代码delete_user.php,从而实现对当前用户的删除。

<?php require_once "common.php";?>
<html>
<head><title>删除用户</title>
</head>
<body><?php$user_id=trim($_GET['user_id']);$sql="DELETE FROM users WHERE user_id=";$sql=$sql.$user_id;if(mysql_query($sql,$con))echo "用户删除成功!<br>";elseecho "用户删除失败!<br>";?>
</body>
</html>

当删除成功后,会跳转到下面页面

到这里,一个通过PHP连接Mysql数据库的简易系统就完成了,是不是很low?嗯 ,没错,就是这么low!在这里,只是实现了用户管理模块的功能,部门管理、用户组管理和权限管理模块的实现方法类似,这里就没有一 一展开了,low是low了点,不过一点一滴积累嘛,慢慢地,我相信会做成一个高大上的系统的,哈哈。

PHP连接Mysql,实现基本的增、删、改、查——用户管理系统相关推荐

  1. 表单的增 删 改 查

    django单表操作 增 删 改 查 一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取 ...

  2. properties(map)增.删.改.查.遍历

    import java.util.Map; import java.util.Properties; import java.util.Set;/*** properties(map)增.删.改.查. ...

  3. python学生姓名添加删除_python-函数-实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统。...

    实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统. 要求1:使用一个list用于保存学生的姓名. 要求2:输入0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit ...

  4. PySpark︱DataFrame操作指南:增/删/改/查/合并/统计与数据处理

    笔者最近需要使用pyspark进行数据整理,于是乎给自己整理一份使用指南.pyspark.dataframe跟pandas的差别还是挺大的. 文章目录 1.-------- 查 -------- -- ...

  5. Linux技术--mysql数据库增-删-改-查

    # mysql 数据库 ## 数据库的操作 ### 五个单位 * 数据库服务器   Linux或者 windows  * 数据库  * 数据表 * 数据字段 * 数据行 ### 连接数据库 ``` 1 ...

  6. python_操作MySQL 初解 之__类方法调用并 增-删-改-查

    文件一: 调用(sqls文件) 1 # 导入模块 2 import pymysql 3 from sqls import * 4 # 创建类 5 class KaoShi(object): 6 7 # ...

  7. 简单的php数据库操作类代码(增,删,改,查)

    数据库操纵基本流程为: 1.连接数据库服务器 2.选择数据库 3.执行SQL语句 4.处理结果集 5.打印操作信息 其中用到的相关函数有 •resource mysql_connect ( [stri ...

  8. Python 操作 Elasticsearch 实现 增 删 改 查

    Github 地址:https://github.com/elastic/elasticsearch-py/blob/master/docs/index.rst 官网地址:https://elasti ...

  9. pyRedis - 操作指南:增/删/改/查、管道与发布订阅功能

    文章目录 1 redis docker 部署与安装 2 py - redis的使用 2.1 redis的连接 2.2 常规属性查看 2.2.2 关于删除 2.3 STRING 字符串的操作 2.4 H ...

  10. list 增 删 改 查 及 公共方法

    1 # 热身题目:增加名字,并且按q(不论大小写)退出程序 2 li = ['taibai','alex','wusir','egon','女神'] 3 while 1: 4 username = i ...

最新文章

  1. IL 汇编学习笔记(三)
  2. .NET 生态系统的蜕变之 .NET 6
  3. 循环链表:拉丁方阵问题
  4. Hibernate关联关系映射之一对一关联关系
  5. DHCP服务、NFS、vsftp服务的简单搭建
  6. 实验:基于keepalived实现两台realserver服务器中的nginx和php-fpm服务互为主从
  7. linux源代码剖析之二boot
  8. 手写vue---部分实现
  9. 右值引用、移动构造函数和move
  10. 目前人工智能教育研究最深入最经典的白皮书:德勤《全球人工智能发展白皮书2019》
  11. Ip地址的配置与解释
  12. linux的steam运行游戏,桌面应用|如何使用 Steam Play 在 Linux 上玩仅限 Windows 的游戏...
  13. Mac MySQL忘记密码解决办法
  14. 身份证的行政区划代码
  15. qq邮箱日历同步服务器,QQ邮箱,腾讯企业邮箱,让你的日程跟着手机走
  16. Errors while compiling. Reload prevented
  17. 重磅 | 完备的 AI 学习路线
  18. 燕十八ajax笔记,燕十八商城笔记资料.doc
  19. CentOS 7 常用软件安装汇总
  20. 美标A537CL2钢板交货状态和执行标准

热门文章

  1. sqli-labs(15-19关)
  2. 亿图图示2021年度十大热门架构图
  3. 微信支付最佳实践-服务端如何防止重复支付
  4. Android WiFi开发 (二)Wifi热点
  5. 今天工作的效率不高,才写了一个打印管理类
  6. 圣歌服务器的维护时间,《圣歌》更新今晚8点发布 未来90天更新计划同步公开...
  7. An 2020最新版下载地址 一键安装Windows
  8. 获取验证码[1]之邮件发送验证码(java)
  9. 中山python培训机构
  10. 活下去游戏Android端物品修改经验分享