通过php的href传递参数特性实现删除功能代码复用
我们知道通过php语句的插入,我们可以通过href的跳转传入新页面一些需要的参数,参数的格式是“参数=值”这样的成对的参数传递格式,多个参数之间使用&符号分隔。比如:
index.php?参数1=值1&参数2=值2&参数3=值3
<a class="link-del" href="./delete.php?id=<?php echo $row['id']; ?>&table=applyuser">删除</a>
我之所以会关注这个,是因为我的管理员页面里有很多需要删除功能,虽然可以给对应的页面都写一个delete功能代码,但是这样做实在是不符合我胃口,于是我想着能不能在点击删除按钮时除了传入一个id外,再多传入一个表table名,这样我在delete里就能把sql语句中的表名设置为变量,由传入的table名来决定,反正都是删除整行数据,所以不必考虑其他兼容性,只需要根据传入的id和table,就可以实现动态化删除数据。
<?php
require './conn.php';
$id = $_GET['id'];
$table = $_GET['table'];
$sql = "delete from `{$table}` where id ='$id'";
$result = mysqli_query($link, $sql);
if($table == "applyuser"){
header("location: showList.php");
} else if($table == "infor"){
header("location: showinfor.php");
} else if($table == "messageboard"){
header("location: messagemanage.php");
}
通过href传入id和table,我可以在delete页面获取这两个值,实现动态地选择要进行删除操作的数据表。
$sql = "delete from `{$table}` where id ='$id'";
这句是重点!
因为没怎么深入学习过PHP,所以我只是在用一些最基本的PHP语句去实现数据库操作,我知道一定有比我这种方式更方便更高级的方法可以实现,所以,大佬们看到这篇博客,不要笑出声哦~我是菜鸟一枚,初学PHP,如有不足之处,还请多多体谅!