我想在数据库中保留Deleted数据

时间:2017-04-10 08:36:44

标签: php

我不想从我的数据库中删除学生数据,但是没有显示我已编码为从数据库中永久删除的列表,任何人都可以知道已删除的查询吗?

这是我的获取列表代码

<?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]); }
}}

1 个答案:

答案 0 :(得分:2)

它被称为软删除;而不是使用删除只是添加类似boolean类型的active_ind(活动指示符)的新列,并将其设为false以删除值...这样就不会永久删除所有行。

显示记录时显示active_ind设置为true的记录。确保在插入新记录时将active_ind的值设置为true。

您的示例删除查询将是:

$connection->query("update student set active_ind = false where id=".$id);