PHP大混编,编到你头大…
1.myindex.php页面(首页):
思路:查询数据库所有的内容,展示到页面。
<?php
// 连接
$connect = mysqli_connect("127.0.0.1","root","root","study");
if(!$connect){
exit("数据库连接失败!");
}
// 查询
$sql = "select * from user1 ORDER BY id ASC;";
$query = mysqli_query($connect,$sql);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>XXX管理系统</title>
<link rel="stylesheet" href="assets/css/bootstrap.css">
<link rel="stylesheet" href="assets/css/style.css">
</head>
<body>
<nav class="navbar navbar-expand navbar-dark bg-dark fixed-top">
<a class="navbar-brand" href="#">XXX管理系统</a>
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="index.html">用户管理</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">商品管理</a>
</li>
</ul>
</nav>
<main class="container">
<h1 class="heading">用户管理 <a class="btn btn-link btn-sm" href="myadd.php">添加</a></h1>
<table class="table table-hover">
<thead>
<tr>
<th>id</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>出生日期</th>
<th class="text-center" width="140">操作</th>
</tr>
</thead>
<tbody>
<?php while($row=mysqli_fetch_assoc($query)){ ?>
<tr>
<td><?php echo $row["id"] ?></td>
<td><?php echo $row["name"] ?></td>
<td><?php echo $row["age"] ?></td>
<td><?php echo $row["gender"]==0?"男":"女" ?></td>
<td><?php echo $row["birthday"] ?></td>
<td class="text-center">
<a class="btn btn-info btn-sm" href="myedit.php?id=<?php echo $row["id"] ?>">编辑</a>
<a class="btn btn-danger btn-sm" href="mydelete.php?id=<?php echo $row["id"] ?>">删除</a>
</td>
</tr>
<?php } ?>
</tbody>
</table>
<ul class="pagination justify-content-center">
<li class="page-item"><a class="page-link" href="#">«</a></li>
<li class="page-item"><a class="page-link" href="#">1</a></li>
<li class="page-item"><a class="page-link" href="#">2</a></li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
<li class="page-item"><a class="page-link" href="#">»</a></li>
</ul>
</main>
</body>
</html>
页面效果:
2.mydelete.php(删除):
思路:通过id删除表里的内容,删除成功跳转到主页面,主页面会查询数据库,展示最新的内容。
<?php
// 解决字符编码
header("content-type:text/html;charset=utf-8");
// 判断请求方式是否为GET
if($_SERVER["REQUEST_METHOD"]=="GET"){
$id=$_GET["id"];
}else {
exit("只支持get请求!");
}
// 建立连接
$connect = mysqli_connect("127.0.0.1","root","root","study");
if(!$connect){
exit("数据库连接失败!");
}
// 删除的sql语句
$sql = "delete from user1 where id=".$id;
$query = mysqli_query($connect,$sql);
print_r($query);
if($query<0){
exit("查询数据库失败");
}
// 受影响的行数
$affect_rows = mysqli_affected_rows($connect);
// 没有受影响的行数,也就是删除失败
if($affect_rows<=0){
exit("删除数据库失败");
}
// 删除成功直接跳转到主页
header("Location:./myindex.php");
?>
3.myedit.php(编辑):
思路:先获取编辑的哪一行数据并展示到每个input框中,再通过表单提交,更新数据库的内容,编辑成功跳转到主页面,主页面会查询数据库,并展示最新的内容。
<?php
header("content-type:text/html;charset=utf-8");
// 判断是否是get请求
if($_SERVER["REQUEST_METHOD"] === "GET"){
// 获取被编辑用户的id
$id=$_GET["id"];
// 建立连接
$connect = mysqli_connect("127.0.0.1","root","root","study");
if(!$connect){
exit("数据库连接失败!");
}
// sql语句
$sql = "SELECT * FROM user1 WHERE id={$id};";
// 查询
$query = mysqli_query($connect,$sql);
if(!$query){
exit("查询数据库失败!");
}
$user = mysqli_fetch_assoc($query);
// [id] => 16 [name] => 匿名 [age] => 21 [gender] => 0 [birthday] => 2020-05-14
// 关闭结果集
mysqli_free_result($query);
// 关闭连接
mysqli_close($connect);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>XXX管理系统</title>
<link rel="stylesheet" href="assets/css/bootstrap.css">
<link rel="stylesheet" href="assets/css/style.css">
</head>
<body>
<nav class="navbar navbar-expand navbar-dark bg-dark fixed-top">
<a class="navbar-brand" href="#">XXX管理系统</a>
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="index.html">用户管理</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">商品管理</a>
</li>
</ul>
</nav>
<main class="container">
<h1 class="heading">编辑“<?php echo $user['name']; ?>”</h1>
<form action="<?php echo './myeditoperation.php?id='.$id; ?> " method="POST" >
<!-- <div class="form-group">
<label for="avatar">头像</label>
<input type="file" class="form-control" id="avatar">
</div> -->
<div class="form-group">
<label for="name">姓名</label>
<input type="text" class="form-control" id="name" value="<?php echo $user['name']; ?>" name="name">
</div>
<div class="form-group">
<label for="gender">性别</label>
<select class="form-control" id="gender" name="gender">
<option value="-1">请选择性别</option>
<option value="1" <?php echo $user['gender'] === '1' ? ' selected': ''; ?>>男</option>
<option value="0" <?php echo $user['gender'] === '0' ? ' selected': ''; ?>>女</option>
</select>
</div>
<div class="form-group">
<label for="birthday">生日</label>
<input type="date" class="form-control" id="birthday" value="<?php echo $user['birthday']; ?>" name="birthday">
</div>
<button class="btn btn-primary">保存</button>
</form>
</main>
</body>
</html>
编辑页面:
4.myeditoperation.php(修改后跳转的操作页面):
<?php
header("content-type:text/html;charset=utf-8");
if($_SERVER["REQUEST_METHOD"] === "POST"){
// 点击保存时的操作
function addData(){
//添加数据:
// 1.判断值是否为空
// 2.获取表单提交的数据
// 3.连接数据库
// 4.添加数据
// 5.跳转到首页
if(empty($_POST["name"])){
$GLOBALS["errors"]="用户名不能为空";
return;
}
// isset()可以判断是否有值,0也是一个值,empty()认为0是空
if(!(isset($_POST["gender"])) || $_POST["gender"] == -1){
$GLOBALS["errors"]="性别不能为空";
return;
}
if(empty($_POST["birthday"])){
$GLOBALS["errors"]="生日不能为空";
return;
}
$id=$_GET["id"];
$name = $_POST["name"];
$gender= $_POST["gender"];
$birthday = $_POST["birthday"];
// 建立数据库连接
$connect_new = @mysqli_connect("127.0.0.1","root","root","study");
if(!$connect_new){
exit("数据库连接失败!");
}
// 查询语句
$sql = "UPDATE user1 SET name='{$name}',age=10,gender={$gender},birthday='{$birthday}' WHERE id={$id};";
// 查询
$query = mysqli_query($connect_new,$sql);
if(!$query){
exit("编辑数据失败!");
}
header("Location:./myindex.php");
}
addData();
}else {
exit("只支持GET请求");
}
?>