以Info表为例:
一、先建立主页面(main.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>Info表主页面</title> </head> <body> <h1>主页面</h1> <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","123","mydb"); !mysqli_connect_error() or die("连接失败!"); $sql = "select * from Info"; $r= $db->query($sql); if($r) { $attr=$r->fetch_all(); foreach($attr as $v) { //处理性别 $sex=$v[2]?"男":"女"; //处理民族名称 $sqln="select Name from Nation where Code='{$v[3]}'"; $rnation = $db->query($sqln); $attrn = $rnation->fetch_assoc(); echo "<tr> <td>{$v[0]}</td> <td>{$v[1]}</td> <td>{$sex}</td> <td>{$attrn['Name']}</td> <td>{$v[4]}</td> <td> <a href='Delete.php?Code={$v[0]}'>删除</a> <a href='Update.php?Code={$v[0]}'>修改</a> </td> </tr>"; //超链接跳转到相应页面并用GET传值方式将Code值传过去 } } ?></table>
<div>
<a href="Add.php">添加数据</a>
</div>
</body>
</html>
二、添加数据
1. 建立添加数据页面(Add.php)
<title>添加数据</title> </head> <style type="text/css"> .form{ width:100%; height:30px; line-height:30px;} </style> <body> <h1>添加数据</h1> <form action="AddChuLi.php" method="post"> <!--提交到添加处理页面--> <div class="form">代号: <input type="text" name="code" /></div> <div class="form">姓名: <input type="text" name="name" /></div> <div class="form">性别: <!--性别为单选按钮 --> <input type="radio" value="男" name="sex" />男 <!--name设为相同,谁选中就提交谁 --> <input type="radio" value="女" name="sex" />女 </div> <div class="form">民族: <!--民族为下拉列表 --> <select name="nation">
<?php //下拉列表每一项是从数据库中查出来的,所以需要嵌入php代码访问数据库 $db=new MySQLi("localhost","root","123","mydb"); $sql="select * from Nation"; $r=$db->query($sql); $attr=$r->fetch_all(); foreach($attr as $v) { echo "<option value='{$v[0]}'>{$v[1]}</option>"; } ?>
</select> </div> <div class="form">生日: <input type="text" name="birthday" /></div><br /> <div class="form"> <input type="submit" value="添加数据" /></div> </form> <div class="form"><a href="main.php">主页面</a></div> </body> </html>
2. 建立处理添加数据页面(AddChuLi.php)
因为不用显示,所以为纯php页面
<?php $code = $_POST["code"]; //用变量接收提交过来的值 $name = $_POST["name"]; $sex = $_POST["sex"]; $s = 1; //判断性别,性别是布尔型,1代表true,0代表false if($sex=="女") { $s= 0; } $nation = $_POST["nation"]; $birthday = $_POST["birthday"]; //将接收的数据添加到数据库 $db = new MySQLi("localhost","root","123","mydb"); !mysqli_connect_error() or die("连接失败!"); $sql = "insert into Info values('{$code}','{$name}',{$s},'{$nation}','{$birthday}')"; //性别不能用引号,加引号是字符串,会当做true处理 $result =$db->query($sql); //返回true or false if($result) //true { header("location:Add.php"); //如果添加成功就跳转到Add.php,跳转用header("location:跳转到的页面"); } else //false { echo "添加失败!"; }
三、删除数据
建立删除数据页面(Delete.php)
因为不用显示,所以为纯php页面
在主页面点击删除通过超链接连接到删除数据页面并用GET方法将主键值Code传过去,然后根据主键值确定需要删除的数据
<?php $code=$_GET["Code"]; //用变量接收主键值 $db=new MySQLi("localhost","root","123","mydb"); !mysqli_connect_error() or die("连接失败!"); $sql= "delete from Info where Code='{$code}'"; //通过主键Code删除相应数据 $r = $db->query($sql); if($r) { header("location:main.php"); } else { echo "删除失败!"; }
四、修改数据
1. 建立修改数据页面(Update.php)
修改数据页面比较复杂,因为需要根据传过来的Code加载默认值
在主页面点击修改通过超链接连接到修改数据页面并用GET方法将主键值Code传过去,然后根据主键值确定需要修改的数据,修改数据页面与添加数据页面样式布局一样,并且将需要修改的数据信息显示在页面上
<title>修改数据</title> </head> <style type="text/css"> .form{ width:100%; height:30px; line-height:30px;} </style> <body> <h1>修改数据</h1> <?php
$code=$_GET["Code"]; //得到GET方式传来过的code值 $db=new MySQLi("localhost","root","123","mydb"); //通过数据库查询code值所有的信息 !mysqli_connect_error() or die("连接失败!"); $sinfo="select * from Info where Code='{$code}'"; //根据主键值只能查询一条信息,取值可用fetch_row() $r=$db->query($sinfo); $arr=$r->fetch_row(); //返回一维索引数组
?> <!--一个页面可以嵌入多处php代码,不管HTML代码,只看php代码,相当于连接起来的,所以上面定义的变量下面可以找到--> <form action="UpdateChuLi.php" method="POST"> <div><input type="hidden" name="code" value="<?php echo $arr[0] ?>" /></div> <!--主键值不能修改,但是必须要有才能提交,所以设置隐藏,
也可以设置只读--> <div class="form">姓名: <input type="text" name="name" value="<?php echo $arr[1] ?>" /></div> <!--通过设定value值来显示要修改的数据信息 --> <div class="form">性别: <input type="radio" value="男" name="sex" <?php echo $arr[2]?"checked='checked'":"" ?> />男 <!--若$arr[2]为tru则默认选中男 --> <input type="radio" value="女" name="sex" <?php echo $arr[2]?"":"checked='checked'" ?>/>女 <!--若$arr[2]为false则默认选中女 --> </div> <div class="form">民族: <select name="nation">
<?php $sql="select * from Nation"; $r=$db->query($sql); $attr=$r->fetch_all(); foreach($attr as $v) { if($v[0]==$arr[3]) //若民族代号等于这个人的民族代号则输出默认选中 { echo "<option selected='selected' value='{$v[0]}'>{$v[1]}</option>"; } else //否则输出普通的 { echo "<option value='{$v[0]}'>{$v[1]}</option>"; } } ?>
</select> </div> <div class="form">生日 :<input type="text" name="birthday" value=" <?php echo $arr[4] ?> "/></div><br /> <div class="form"> <input type="submit" value="修改数据" /></div> </form> <div><a href="main.php">主页面</a></div> </body> </html>
2. 建立修改数据处理页面(UpdateChuLi.php)
因为不用显示,所以为纯php页面
<?php $code = $_POST["code"]; $name = $_POST["name"]; $sex = $_POST["sex"]; $s = 1; if($sex=="女") { $s= 0; } $nation = $_POST["nation"]; $birthday = $_POST["birthday"]; $db=new MySQLi("localhost","root","123","mydb"); !mysqli_connect_error() or die("连接失败!"); $sql="update Info set Name='{$name}',Sex={$s},Nation='{$nation}',Birthday='{$birthday}' where Code='{$code}'"; //SQL语句要写好 $r=$db->query($sql); if($r) { header("location:main.php"); } else { echo "修改失败!"; }