我不想从我的数据库中删除学生数据,但是没有显示我已编码为从数据库中永久删除的列表,任何人都可以知道已删除的查询吗?
这是我的获取列表代码
<?php
$query="SELECT id,name,fname,phone FROM student";
$resultset=$connection->query($query);
$count=0;
while($r=$resultset->fetch_assoc()){
$count++;
echo "<tr><td>".$count."</td><td><a href='#'>".$r["name"]."</a></td><td>".$r["fname"]."</td><td></td><td><td>".$r["phone"]."</td><td><input type='checkbox' name='chb".$count."' value='".$r["id"]."'></td></tr>
";
}
?>
这是我的删除功能代码
function std_delete($id){
$connection=new mysqli("localhost","root","","sms");
$connection->query("delete from student where id=".$id);
for ($i=1; $i < 100; $i++) {
//echo "chb".$i."<br>";
if(isset($_POST["chb".$i])){
std_delete($_POST["chb".$i]); }
}}
答案 0 :(得分:2)
它被称为软删除;而不是使用删除只是添加类似boolean类型的active_ind(活动指示符)的新列,并将其设为false以删除值...这样就不会永久删除所有行。
显示记录时显示active_ind设置为true的记录。确保在插入新记录时将active_ind的值设置为true。
您的示例删除查询将是:
$connection->query("update student set active_ind = false where id=".$id);