在页面中用php方式对数据实现增删改查,一共6个页面来实现这个功能,
1.查询页面:
<!--这是查询页面,用来查询数据库中的数据,数据会以表格的形式显示在页面中,用户可以在这个页面执行添加、修改、删除数据的操作--> <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <!--引入bootstrap文件--> <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css"> <script src="js/jquery-1.11.3.min.js"></script> <script src="js/bootstrap.min.js"></script> </head> <body> <!--创建一个表格--> <table class="table table-striped"> <caption>人员信息</caption> <thead> <tr> <th >编号</th> <th >姓名</th> <th >性别</th> <th >生日</th> <th >班级</th> </tr> </thead> <tbody> <!--用PHP读取数据库数据并输出到网页-->
<?php $db = new mysqli("localhost","root","","xuexiao"); //创建一个连接对象 mysqli_connect_error()?die("连接错误!"):""; //判断连接是否成功 $sql = "select sno,sname,ssex,date(sbirthday),class from student";//创建一个sql语句 $result = $db->query($sql);//执行sql语句并且接收结果和对象 if($result){ //判断是非执行成功 $arr = $result->fetch_all();//读取查询结果,fetch_all()会读取全部内容 foreach($arr as $v){ //foreach遍历并输出数据 echo " <tr> <td>{$v[0]}</td> <td>{$v[1]}</td> <td>{$v[2]}</td> <td>{$v[3]}</td> <td>{$v[4]}</td> <td><a href=‘./delete.php?sno={$v[0]}‘ onclick=\"return confirm(‘确认删除吗‘)\"><button type=‘button‘ class=‘btn btn-primary‘ >删除</button></a></td> <td><a href=‘./xiugai.php?sno={$v[0]}‘><button type=‘button‘ class=‘btn btn-primary‘>修改</button></a></td> </tr>"; //用超链接添加修改和删除选项,超链接地址指向下一步的操作页面xiugai.php和delete.php,超链接用get方式把要操作的那条数据的主键值传给下一步的操作页面 } } ?>
</tbody> </table> <!--用超链接添加添加选项,超链接地址指向下一步的操作页面tianjia.php--> <a href="tianjia.php">添加人员信息</a> </body> </html>
2.添加页面:
<!--这是查询页面0114-1.php点击添加选项跳转过来的页面,用于添加数据,以表单形式让用户输入数据,点击提交后存入数据库,但是还需要把数据提交给下一个页面add.php处理数据--> <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <!--引入bootstrap文件--> <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css"> <script src="js/jquery-1.11.3.min.js"></script> <script src="js/bootstrap.min.js"></script> </head> <body> <h1>添加信息</h1> <div class="panel panel-default" style="width:500px"> <div class="panel-body"> <!--form里指定好提交时接收提交的数据的文件,该文件会做下一步的数据处理,数据的提交方式选用post保密提交以保护数据隐私--> <form action="add.php" method="post"> <div class="input-group"> <span class="input-group-addon">编号</span> <!--要指定好name值以便提交--> <input type="text" class="form-control" placeholder="请输入编号" name="sno"> </div> <br/> <div class="input-group"> <span class="input-group-addon">姓名</span> <!--要指定好name值以便提交--> <input type="text" class="form-control" placeholder="请输入姓名" name="sname"> </div> <br/> <div class="input-group"> <span class="input-group-addon">性别</span> <!--性别用单选框选择,指定好name值--> <label for="sex1">男 </label><input type="radio" name="ssex" id="sex1" value="男" checked/> <label for="sex2">女 </label><input type="radio" name="ssex" id="sex2" value="女" /> </div> <br/> <div class="input-group"> <span class="input-group-addon">生日</span> <!--要指定好name值以便提交--> <input type="text" class="form-control" placeholder="请输入生日" name="sbirthday"> </div> <br/> <div class="input-group"> <span class="input-group-addon">班级</span> <!--要指定好name值以便提交--> <input type="text" class="form-control" placeholder="请输入班级" name="class"> </div> <br/> <!--提交按钮执行添加,会把数据提交给form指向的下一个处理页面--> <input class="btn btn-default" type="submit" value="添加" > </form> </div> </div> </body> </html>
3.处理数据添加的页面
<?php //这是tianjia.php提交后用来处理数据的页面 $arr = $_POST; //接收传过来的数据,以post方式提交就用全局变量$_POST接收,接收到以个数据的关联数组,之前的页面里的name就是关联的索引 //var_dump($arr); $sno = $arr["sno"]; //分别取出每一个数据 $sname = $arr["sname"]; $ssex = $arr["ssex"]; $sbirthday = $arr["sbirthday"]; $class = $arr["class"]; $db = new MySQLi("localhost","root","","xuexiao");//创建一个连接对象 mysqli_connect_error()?die("连接错误"):"";//判断连接是否成功 $sql = "insert into student values(‘$sno‘,‘$sname‘,‘$ssex‘,‘$sbirthday‘,‘$class‘)";//创建一个sql语句 $result = $db->query($sql);//执行sql语句并接收结果和对象 if($result){//判断执行是否成功 echo "<script type=‘text/javascript‘> window.location.href=‘tianjia.php‘; </script>";//执行成功就跳转回添加页面,通过输出js代码实现 }else{ echo "添加失败!"; //执行失败,输出提示 }
4.处理删除数据的页面
<?php //这是查询页面0114-1.php点击删除后跳转过来用来处理数据的页面 $sno = $_GET["sno"];//删除选项用超链接的get方式传值,这里用$_GET接收数据,虽然只有一个数据但是这还是一个关联数组 //echo $sno; $db = new MySQLi("localhost","root","","xuexiao");//建立连接对象 mysqli_connect_error()?die("连接失败!"):"";//判断连接是否成功 $sql = "delete from student where sno={$sno}";//创建一个sql语句 $result = $db->query($sql);//执行sql语句并接收结果和对象 if($result){ //判断是否执行成功 echo "<script type=‘text/javascript‘> window.location.href=‘0114-1.php‘; </script>"; //执行成功,输出js代码以返回到查询页面 }else{ echo "删除失败!"; //执行失败,输出提示 }
5.在查询页面点击修改后弹出的修改页面
<!--这是查询页面0114-1.php点击修改后跳转过来的页面,页面会把要修改的那条数据的值默认输出在页面中,点击修改后会修改数据,但是还需要提交到下一个页面update.php中处理数据--> <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <!--引入bootstrap文件--> <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css"> <script src="js/jquery-1.11.3.min.js"></script> <script src="js/bootstrap.min.js"></script> </head> <body>
<?php $sno = $_GET["sno"]; //修改选项是用超链接的get方式传值,所以用$_GET接收数据,注意虽然只有一个数据,但是这还是以个关联数组 $db = new MySQLi("localhost","root","","xuexiao"); //建立一个连接对象 mysqli_connect_error()?die("连接错误!"):""; //判断连接是否成功 $sql = "select sno,sname,ssex,date(sbirthday),class from student where sno=‘{$sno}‘";//创建一个sql语句 $result = $db->query($sql); //执行sql语句并接收结果和对象 $arr = $result->fetch_row(); //读取查询结果 ?>
<h1>修改信息</h1> <div class="panel panel-default" style="width:500px"> <div class="panel-body"> <!--form里指定好提交时接收提交的数据的文件,该文件会做下一步的数据处理,数据的提交方式选用post保密提交以保护数据隐私--> <form action="update.php" method="post"> <div class="input-group"> <span class="input-group-addon">编号</span> <!--把默认值即数据相对应的值写入表单中--> <input type="text" class="form-control" placeholder="请输入编号" name="sno" readonly value="<?php echo $arr[0] ?>"> </div> <br/> <div class="input-group"> <span class="input-group-addon">姓名</span> <!--把默认值即数据相对应的值写入表单中--> <input type="text" class="form-control" placeholder="请输入姓名" name="sname" value="<?php echo $arr[1] ?>"> </div> <br/> <div class="input-group"> <span class="input-group-addon">性别</span> <!--把默认值即数据相对应的值写入表单中,性别用三元运算判断男女并添加默认选中属性checked--> <label for="sex1">男 </label><input type="radio" name="ssex" id="sex1" value="男" <?php echo $arr[2]="男"?"checked":""; ?>/> <label for="sex2">女 </label><input type="radio" name="ssex" id="sex2" value="女" <?php echo $arr[2]="女"?"checked":""; ?> /> </div> <br/> <div class="input-group"> <span class="input-group-addon">生日</span> <!--把默认值即数据相对应的值写入表单中--> <input type="text" class="form-control" placeholder="请输入生日" name="sbirthday" value="<?php echo $arr[3] ?>"> </div> <br/> <div class="input-group"> <span class="input-group-addon">班级</span> <!--把默认值即数据相对应的值写入表单中--> <input type="text" class="form-control" placeholder="请输入班级" name="class" value="<?php echo $arr[4] ?>"> </div> <br/> <!--修改好了点击提交,数据会提交给form指定的下一个页面update.php--> <input class="btn btn-default" type="submit" value="修改" > </form> </div> </div> </body> </html>
6.处理修改数据的页面
<?php //这是xiugai.php提交后用来处理数据的页面 $arr = $_POST;//接收传过来的数据,以post方式提交就用全局变量$_POST接收,接收到以个数据的关联数组,之前的页面里的name就是关联的索引 //print_r($arr); $sno = $arr["sno"]; //分别取出每一个数据 $sname = $arr["sname"]; $ssex = $arr["ssex"]; $sbirthday = $arr["sbirthday"]; $class = $arr["class"]; $db = new MySQLi("localhost","root","","xuexiao");//创建一个连接对象 mysqli_connect_error()?die("连接错误!"):"";//判断连接是否成功 $sql = "update student set sname=‘{$sname}‘,ssex=‘{$ssex}‘,sbirthday=‘{$sbirthday}‘,class=‘{$class}‘ where sno={$sno}";//创建一个sql语句 $result = $db->query($sql);//执行sql语句并接收结果和对象 if($result){ //判断是否执行成功 echo "<script type=‘text/javascript‘> window.location.href = ‘0114-1.php‘ </script>"; //执行成功,输出js代码以跳转回查询页面 }else{ echo "修改失败!"; //执行失败,输出提示 }