最近开学php,下午闲着没事干,想着做个小项目练练手,也就是用php写个网页,对数据库里的东西实现增删改查,下面给大家分享一下,由于本人的业务能力尚浅,大家有啥建议我很欢迎哦!
简单效果:
1.打开网页呈现数据库数据:
2.删除功能,添加信息功能。
3.信息修改功能(带数据进页面)
下面便是源码:
数据库文件:(数据库名:dataphp 表名:student)
/*
SQLyog 企业版 - MySQL GUI v8.14
MySQL - 5.5.5-10.3.7-MariaDB : Database - dataphp
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`dataphp` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `dataphp`;
/*Table structure for table `student` */
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(15) DEFAULT NULL,
`sex` char(4) DEFAULT NULL,
`address` varchar(20) DEFAULT NULL,
`hobby` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;
/*Data for the table `student` */
insert into `student`(`id`,`name`,`sex`,`address`,`hobby`) values (1,'张飞','男','河南省','游泳'),(6,'大乔','女','新疆省','游泳'),(10,'周瑜','男','陕西','游泳'),(16,'曹操','女','巴西','游泳'),(17,'张三','女','陕西','篮球');
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
主页面:service.php
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "dataphp";
// 创建连接
$conn = mysqli_connect($servername, $username, $password,
$dbname);
// 检测连接
if (!$conn) {
die("Connectionfailed: " . mysqli_connect_error());
}
//增加业务(接收来自studeng_form.php页面传来的Post提交的参数)
if(isset($_POST["name"])&&isset($_POST["sex"])&&isset($_POST["address"])&&isset($_POST["hobby"])){
$name=$_POST["name"];
$sex=$_POST["sex"];
$address=$_POST["address"];
$hobby=$_POST["hobby"];
$hobbies=implode(",",$hobby);
$sql = "INSERT into student (name,sex,address,hobby)
VALUES ('$name','$sex','$address','$hobbies')";
if (mysqli_query($conn, $sql)) {
echo "<script>alert('新纪录插入成功')</script>";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
}
//修改业务(接收来自updatestudent.php页面传来的Post提交的参数)
if(isset($_POST["name2"])&&isset($_POST["sex2"])&&isset($_POST["address2"])&&isset($_POST["hobby2"])&&isset($_POST["id"])){
$id=$_POST["id"];
$name2=$_POST["name2"];
$sex2=$_POST["sex2"];
$address2=$_POST["address2"];
$hobby2=$_POST["hobby2"];
$hobbies2=implode(",",$hobby2);
$sqlupdate = "UPDATE student SET NAME='$name2',sex='$sex2',address='$address2',hobby='$hobbies2' WHERE id=$id";
if (mysqli_query($conn, $sqlupdate)) {
echo "<script>alert('修改成功')</script>";
header("Location: service.php"); //刷新当前页面
mysqli_close($conn);
} else {
echo "Error: " . $sqlupdate . "<br>" . mysqli_error($conn);
}
}
//查询,返回全部结果
$sqlselect="select * from student";
$result=mysqli_query($conn, $sqlselect);
if($result->num_rows>0){
echo "<h1>学生信息显示</h1>";
echo "<div><a href='student_form.php'>添加学生</a></div><br>";
echo "<table><tr><th>姓名</th><th>性别</th><th>地址</th><th>爱好</th><th>操作</th></tr>";
while($row=$result->fetch_assoc()){
echo '<tr><td>'.$row["name"].'</td>
<td>'.$row["sex"].'</td>
<td>'.$row["address"].'</td>
<td>'.$row["hobby"].'</td>
<td>
<a href="service.php?id='.$row["id"].'">删除</a>'.' '.
'<a href="updatestudent.php?id='.$row["id"].'">修改</a></td></tr>';
}
echo "</table>";
}else{
echo "0个结果";
}
//删除业务,接受本页面传来的id参数,利用此参数删除对应记录
if(isset($_GET["id"])){
$id=$_GET["id"];
$sqldelete='delete from student where id='.$id;
if (mysqli_query($conn, $sqldelete)) {
echo "<script>alert('删除成功')</script>";
mysqli_close($conn);
header("Location: service.php"); //刷新当前页面
} else {
echo "Error: " . $sqldelete . "<br>" . mysqli_error($conn);
}
}
echo '<style type="text/css">
body{text-align: center;}
table{
width:600px;height:300px;
border:1px solid black;/*设置边框粗细,实线,颜色*/
text-align:center;/*文本居中*/
background-color:#70DB93;
border-collapse: collapse;/*边框重叠,否则你会看到双实线*/
margin: auto;
}
th{
border:1px solid black;
color:black;
font-weight:bold;/*因为是标题栏,加粗显示*/
}
td{
border:1px solid black;
color:#8E2323;
}
a{
font-family: Arial;
margin: 3px;
}
a:LINK,a:VISITED {
color:#A62020;
padding:4px 10px 4px 10px;
background-color:#DDD;
text-decoration: none;
border-top: 1px solid #EEEEEE;
border-left: 1px solid #EEEEEE;
border-bottom: 1px solid #717171;
border-right: 1px solid #717171;
}
a:HOVER {
color: #821818;
padding: 5px 8px 3px 12px;
background-color: #CCC;
border-top: 1px solid #717171;
border-left: 1px solid #717171;
border-bottom: 1px solid #EEEEEE;
border-right: 1px solid #EEEEEE;
}
h1{
background-color:#678;
color:white;
text-align:center;
}
div{
text-align:center
}
</style>';
mysqli_close($conn);
?>
添加页面(由主页面跳转)student_form.php
<html>
<head>
<meta charset="utf-8">
<title>表单提交数据库</title>
</head>
<body>
<h1>添加学生信息</h1>
<div>
<form method="post" action="service.php">
姓名:<input type="text" id="input1" name="name"/><br/>
性别:
男<input type="radio" name="sex" value="男"/>
女<input type="radio" name="sex" value="女"/>
<br/>
地址:<input type="text" id="input1" name="address"/><br/>
爱好:
游泳<input type="checkbox" name="hobby[]" value="游泳"/>
篮球<input type="checkbox" name="hobby[]" value="篮球"/>
排球<input type="checkbox" name="hobby[]" value="排球"/>
<br>
<input type="submit" value="提交"/>
</form>
</div>
<style type="text/css">
h1{
background-color:#678;
color:white;
text-align:center;
}
body {
height: 100%;
width: 100%;
border: none;
overflow-x: hidden;
}
div{
width:100%;
text-align:center;
}
</style>
</body>
</html>
修改页面(由主页面跳转)updatestudent.php
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "dataphp";
// 创建连接
$conn = mysqli_connect($servername, $username, $password,
$dbname);
// 检测连接
if (!$conn) {
die("Connectionfailed: " . mysqli_connect_error());
}
//根据service修改标签点击后传来的参数id进行查询,查到的值(在html中放入对应的元素中)
if(isset($_GET["id"])){
$id=$_GET["id"];
$sqlSelectId="select * from student where id=".$id;
$result=mysqli_query($conn, $sqlSelectId);
$row=$result->fetch_assoc();
$name=$row["name"];
$sex=$row["sex"];
$address=$row["address"];
$hobby=$row["hobby"];
$hobbies=explode(",", $hobby);//将字符串按“,”,划分为数组
}
?>
<html>
<head>
<meta charset="utf-8">
<title>表单修改数据库</title>
</head>
<body>
<h1>修改信息</h1>
<div>
<form method="post" action="service.php">
姓名:<input type="text" name="name2" value="<?php echo $name?>"/><br/>
性别:
男<input type="radio" id="male" name="sex2" value="男"/>
女<input type="radio" id="female" name="sex2" value="女"/>
<br/>
地址:<input type="text" name="address2" value="<?php echo $address?>" /><br/>
爱好:
游泳<input type="checkbox" id="h1" name="hobby2[]" value="游泳"/>
篮球<input type="checkbox" id="h2" name="hobby2[]" value="篮球"/>
排球<input type="checkbox" id="h3" name="hobby2[]" value="排球"/>
<input type="hidden" name="id" value="<?php echo $id ?>"/>
<br>
<input type="submit" value="提交"/>
</form>
</div>
<style type="text/css">
h1{
background-color:#678;
color:white;
text-align:center;
}
body {
height: 100%;
width: 100%;
border: none;
overflow-x: hidden;
}
div{
width:100%;
text-align:center;
}
</style>
<?php
if($sex=='男'){
echo "
<script>
document.getElementById('male').checked=true;
</script>";
}else{
echo "
<script>
document.getElementById('female').checked=true;
</script>";
}
for($i=0;$i<count($hobbies);$i++){
if($hobbies[$i]=='游泳'){
echo "
<script>
document.getElementById('h1').checked=true;
</script>";
}else if($hobbies[$i]=='篮球'){
echo "
<script>
document.getElementById('h2').checked=true;
</script>";
}else if($hobbies[$i]=='排球'){
echo "
<script>
document.getElementById('h3').checked=true;
</script>";
}
}
?>
</body>
</html>