如何使用php实现数据库的增删改查功能?
如何使用php实现数据库的增删改查功能?
1.查询:
数据的显示,这里就可以嵌入php来进行数据的输出
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <table width="100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td>代号</td> <td>名称</td> <td>性别</td> <td>生日</td> <td>班级</td> <td>操作</td> </tr> <?php $db = new MySQLi("localhost","root","12345678","heiheihei"); //连接数据库 $sql = "select * from student "; //写sql语句 $r = $db->query($sql); //执行sql语句返回给r if($r)//条件 { while ($attr = $r->fetch_row()) { $ssex = ""; if($attr[2]) { $ssex = "男"; } else { $ssex = "女"; } echo " <tr> <td>{$attr[0]}</td> <td>{$attr[1]}</td> <td>{$ssex}</td> <td>{$attr[3]}</td> <td>{$attr[4]}</td> //添加一个单击事件,防止不小心删掉 <td><a onclick=\"return confirm('确定要删除吗???')" href='shanchu.php?sno={$attr[0]}'>删除</a> <a href='xiugai.php?sno={$attr[0]}'>修改</a> </td> </tr>"; } } ?> </table> <a href="tianjia.php" rel="external nofollow" >添加页面</a> </body> </html>
2.删除的处理页面
删除时是链接到删除处理页面的,所以还要写一个删除处理页面:
<?php $aaa = $_GET ["sno"]; //删除方式使用的get,照旧 $db = new mysqli("localhost","root","12345678","heiheihei"); //连接... $sql = "delete from student WHERE sno='{$aaa}'"; //写sql语句,sno主键 if($db->query($sql)) //执行sql语句 { header("location:text.php"); //删完回去表页面 } else{ echo "删除失败"; } ?>
来张效果图:
3.添加数据:
点击即可进入添加页面
添加页面:
<body> <h1>添加</h1> <form action="add.php" method="post" > <div>代号:<input type="text" name="sno"/></div> <div>名字:<input type="text" name="sname"/></div> <div>性别: <input type="radio" value="1" name="sex" />男 <input type="radio" value="0" name="sex"/>女</div> <div>日期:<input type="text" name="sbirthday"/></div> //创建表时性别是用的1或2来表示的,要是进行修改不知道1或2代表了什么,所以就要进行处理,处理成用户能够明白的男和女 <div>班级: <select name="class"> <?php $db= new MYSQLi("localhost","root","12345678","heiheihei"); //连接... $sql = " select * from class "; //写sql... $r = $db->query($sql); //执行...返回... while($arr = $r->fetch_row()) { echo "<option value='{$arr[0]}'>{$arr[1]}</option>"; //添上以后回表页面 } ?> </select> </div> <div><input type="submit" value="添加"/></div> </form> </body>
添加也需要一个处理页面来判断添加:
<?php $sno = $_POST["sno"]; //$_POST 变量用于收集来自 method="post" 的表单中的值。 $sname = $_POST["sname"]; $ssex = $_POST["ssex"]; $sbirthday = $_POST["sbirthday"]; $class = $_POST["class"]; $db = new mysqli("localhost","root","12345678","heiheihei"); $sql = "insert into student VALUES ('{$sno}','{$sname}','{$ssex}','{$sbirthday}','{$class}')"; //向数据库中添加写的数据 if($db->query($sql)) { header("location:text.php"); //header() 函数向客户端发送原始的 HTTP 报头。 } else { echo "添加失败"; } ?>
效果图:
4.修改数据:主键不可修改!!
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <h1>修改</h1> <?php $sno = $_GET{"sno"}; $db = new mysqli("localhost","root","12345678","heiheihei"); $sql = "select * from student WHERE sno='{$sno}'"; $r = $db->query($sql); $arr = $r->fetch_row(); ?> <form action="update.php" method="post"> <div>代号:<input readonly="readonly" type="text" name="sno" value="<?php echo $arr[0]; ?>"/></div> //readonly只可读 <div>名称:<input type="text" name="sname" value="<?php echo $arr[1]; ?>"/></div> <div>性别: <input type="radio" name="ssex" value="1" <?php echo $arr[2]?"checked='checked'":""; ?>/>男 <!-- 三元运算符,如果性别=ture,默认值就在男上面,否则空--> <input type="radio" name="ssex" value="0" <?php echo $arr[2]?"":"checked='checked'"; ?>/>女 </div> <div>日期:<input type="text" name="sbirthday" value="<?php echo $arr[3]; ?>"/></div> <div>班级:<select name="class"> //value取默认值 <?php $sclass = "select * from class"; $rclass = $db->query($sclass); while($attr = $rclass->fetch_row()) //取到的班级信息 { //判断将要输出的班级是不是和该人员的是否相同 if($arr[4]==$attr[0])//arr是班级名,attr是班级的代号,俩表 { echo "<option value = '{$attr[0]}' selected='selected'>{$attr[1]}</option>"; } else{ echo "<option value = '{$attr[0]}'>{$attr[1]}</option>"; } } ?> </select></div> <div><input type="submit" value="修改完毕"/></div> </form> </body> </html>
]
修改的处理页面:
<?php $sno = $_POST["sno"]; $sname = $_POST["sname"]; $ssex = $_POST["ssex"]; $sbirthday = $_POST["sbirthday"]; $class = $_POST["class"]; $db = new mysqli("localhost","root","12345678","heiheihei"); $sql = "update student set sname='{$sname}', ssex='{$ssex}', sbirthday='{$sbirthday}', class='{$class}' WHERE sno='{$sno}'"; //看一下是不是传递过来的sno值; if($db->query($sql)) { header("location:text.php"); } else{ echo "修改失败"; } ?>
修改的效果图: