我刚才仔细看了下上面的代码,发现了一个错误,我把性别判断写到循环之外去了。在这里跟大家道歉了,现在已经及时更正。呵呵,低级错误。但发现错误是好事哦,可以总结经验教训……好了好了,不找借口了,低头认错,呵呵。
OK,我们开始写编辑和删除功能吧。我们先来改一下show.php页面,让它有个操作区,并且添加[编辑]和[删除]的连接。让用户去操作,具体代码我帖出来先,我已经把格式尽量弄得方便看了,如何各位还看不明白的话,可以对比上面的show.php看哦。
input.php 文件代码:(更新版)
| [<a href="input.php">继续添加</a>] <?php //这里是PHP代码 $sql = "SELECT * FROM `addr_list`";//需要执行的SQL语句(这里是浏览数据功能) require('conn.php'); //调用conn.php文件,执行数据库操作 ?> <!---这里HTML代码,创建一个表格---> <table width="100%" border="1"> <tr> <th width="13%" bgcolor="#CCCCCC" scope="col">姓名</th> <th width="13%" bgcolor="#CCCCCC" scope="col">性别</th> <th width="13%" bgcolor="#CCCCCC" scope="col">手机</th> <th width="13%" bgcolor="#CCCCCC" scope="col">邮箱</th> <th width="29%" bgcolor="#CCCCCC" scope="col">地址</th> <th width="19%" bgcolor="#CCCCCC" scope="col">操作</th> </tr> <?php //这里是PHP代码 //判断性别 while($row = mysql_fetch_row($result)) //循环开始 { if($row[2]==0) { $sex = '女士'; } else { $sex = '先生'; } ?> <!---被循环的HTML表格中带有PHP代码---> <tr> <td><?php echo $row[1]; ?></td> <td><?php echo $sex; ?></td> <td><?php echo $row[3]; ?></td> <td><?php echo $row[4]; ?></td> <td><?php echo $row[5]; ?></td> <td><div align="center"> [<a href="edit.php?id=<?php echo $row[0]; ?>">编辑</a>] [<a href="del.php?id=<?php echo $row[0]; ?>">删除</a>] </div></td> </tr> <?php } ?> </table> |
说明:我们的两个链接[编辑]和[删除]指向的 edit.php 和 del.php 页面,现在这两个页还没做,我们先来搞清楚为什么要这样写它。我们可以看到它的形式为:edit.php?id=xxx,那么xxx是什么?前面讲过,不能忘记哦,$row[0]代表调用id嘛,我们用PHP语句写到链接里,所以它就长成那样子了,呵呵。转换出来后,它应该会在地址栏里显示类似 edit.php?id=1 的地址,这是一种传值方式,如果你要研究下,呵呵,google咯,我这里就不多讲了。好,那么我们试看它们到底有没有把值传到 edit.php 和 del.php 页面了,所以我们先来写这两个页面测试,记得是测试哦,所以不是完整版了,呵呵。
edit.php 文件代码:(不完整)
| <?php echo $id; ?> |
del.php 文件代码:(不完整)
| <?php echo $id; ?> |
说明:两个双胞胎长一模一样,呵呵。好,大家可以测试一下了,运行show.php,点[编辑]或[删除],看看$id的值是否能显示或变换,如果成功的话,我们就可以继续咯。
OK,现在我们来正式写edit.php和del.php,如果前面你已经搞清楚post.php和show.php怎么写,那么这两个也就不成问题了,大同小异,所以不要太紧张。先来写edit.php吧。
edit.php 文件代码:(完整版)
| <?php $sql = "SELECT * FROM `addr_list` WHERE `id`='$id'"; //需要执行的SQL语句(这里是浏览数据功能) //要注意ID哦,这个语句和show.php有些不同 require('conn.php'); //调用conn.php文件,执行数据库操作 $row = mysql_fetch_row($result); //将SQL执行语句的结果集保存为数组(排队咯) ?> <!---我们把input.php的表单扣来加入PHP代码就可以了,只有性别部分要做特殊处理---> <form id="form1" name="form1" method="post" action="edited.php"> <p>姓名:<input name="name" type="text" id="name" value="<?php echo $row[1]; ?>" /></p> <p> <?php //特殊处理性别,如果是0就选中女士,否则选种先生,checked="checked"就是选中哦 if($row[2]==0) { echo '性别:<input type="radio" name="sex" value="0" checked="checked" />女士 <input type="radio" name="sex" value="1" />先生'; } else { echo '性别:<input type="radio" name="sex" value="0" />女士 <input type="radio" name="sex" value="1" checked="checked" />先生'; } ?> </p> <p>手机:<input name="mobi" type="text" id="mobi" value="<?php echo $row[3]; ?>" /></p> <p>邮箱:<input name="email" type="text" id="email" value="<?php echo $row[4]; ?>" /></p> <p>地址:<input name="addr" type="text" id="addr" value="<?php echo $row[5]; ?>" /></p> <p> <input type="submit" name="Submit" value="添加" /> <input type="reset" name="Submit2" value="重写" /> </p> </form> |
edited.php 文件代码:
| <?php //需要执行的SQL语句(这里是修改数据功能) $sql = "UPDATE `addr_list` SET `name` = '$name', `sex` = '$sex', `mobi` = '$mobi', `email` = '$email', `addr` = '$addr' WHERE `addr_list`.`id` =12 "; //调用conn.php文件,执行数据库操作 require('conn.php'); //显示操作提示,注意$result也是conn.php里的哦 if($result) { echo '恭喜,修改成功!<p>'; } ?> [<a href="show.php">查看通讯录</a>] [<a href="input.php">继续添加</a>] |
说明:这里要注意的也是$sql的SQL语句,我这里缩进处理了,方便大家看清楚,大家自己写的时候没有必要这么写了,呵呵。跟post.php八九不离十了,所以也不用多讲咯,大家测试一下吧。最后剩下del.php了,胜利就在眼前!呵呵。
del.php 文件代码:(完整版)
| <?php //需要执行的SQL语句(这里是删除数据功能) $sql = "DELETE FROM `addr_list` WHERE `id`='$id'"; //调用conn.php文件,执行数据库操作 require('conn.php'); //显示操作提示,注意$result也是conn.php里的哦 if($result) { echo '恭喜,删除成功!<p>'; } ?> [<a href="show.php">查看通讯录</a>] [<a href="input.php">继续添加</a>] |