PHP简单项目案例(改进版)

博主开学学习PHP后,利用空闲时间做小项目练手,用PHP编写网页实现对数据库内容的增删改查。介绍了项目简单效果,如打开网页呈现数据、具备删除和添加信息及修改信息功能,还给出了数据库文件及各页面文件名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近开学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>

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值