从html表中删除记录,但保留在数据库表中

时间:2018-07-10 04:44:58

标签: php mysql

<?php
// Process delete operation after confirmation
if(isset($_POST["id"]) && !empty($_POST["id"])){
    // Include config file
    require_once 'config.php';

    // Prepare a delete statement
    $sql = "UPDATE data SET is_deleted=1 WHERE id = ?";
   // $sql="DELETE from data WHERE id = ?";
    if($stmt = mysqli_prepare($link, $sql)){
        // Bind variables to the prepared statement as parameters
        mysqli_stmt_bind_param($stmt, "i", $param_id);

        // Set parameters
        $param_id = trim($_POST["id"]);

        // Attempt to execute the prepared statement
        if(mysqli_stmt_execute($stmt)){
            // Records deleted successfully. Redirect to landing page
            header("location: index.php");
            exit();
        } else{
            echo "Oops! Something went wrong. Please try again later.";
        }
    }

    // Close statement
    mysqli_stmt_close($stmt);

    // Close connection
    mysqli_close($link);
} else{
    // Check existence of id parameter
    if(empty(trim($_GET["id"]))){
        // URL doesn't contain id parameter. Redirect to error page
        header("location: error.php");
        exit();
    }
}
?>

我想从html表中删除记录。我没有使用删除查询,而是使用更新查询来将删除的记录保留在数据库中。但是问题是我需要从html表中删除已删除的记录。

3 个答案:

答案 0 :(得分:1)

由于您没有提供要在其中选择要显示的内容的查询,也没有提供html我们必须猜测您在做什么

我可能会采用这种方法

$sql = "Select * from data where is_deleted!=1";

或全部抓住它们,仅在is_deleted为false时显示

PHP

$sql = "Select * from data";
echo "<table>";
foreach ($result as $row){?>
    <tr class='<?php echo $row['is_deleted']==1?"hide":"show";?>'>
      <td><?php echo $row['value'];?></td>
    </tr>
<?php }
echo "</table>";
?>

当然这里有很多假设

答案 1 :(得分:0)

在这种情况下,您需要进行软删除,就像您需要添加一个称为isdeleted的字段一样,或者删除您想要存储布尔值的任何内容,然后如果用户从HTML表中删除任何条目,则将状态从1更改为0(仅获取)那些被删除或删除的值为1的记录。

答案 2 :(得分:0)

正如您所说的从html删除但数据库中仍然有数据,因此您只需要一次使用jquery td进行删除,并更新数据行,就像status0/1一样。 0表示删除,1表示激活。您可以使用ajax更新记录。 例如,您有一个这样的表

<table class="table table-striped table-bordered table-hover" id="tblParticipantList">
    <thead>
        <tr>
            <th>Name</th>
            <th>Adress</th>
            <th>Redeem Code</th>
        </tr>
    </thead>
    <tbody>
        <tr data-id="columnId" id="customerPartial_94">
            <td data-field="NAME">Attn Donna</td>
            <td data-field="ADDRESS">3046 Lavon Drive Newyork America 7504</td>
            <td data-field="SECURITY_REDEMPTION_CD"></td>
        </tr>
        <tr data-id="columnId" id="customerPartial_95">
            <td data-field="NAME">F 1 La 1</td>
            <td data-field="ADDRESS">Asd 1 s 1 Ci 1 s</td>
            <td data-field="SECURITY_REDEMPTION_CD"></td>
        </tr>
    </tbody>
</table>

在指定的行和列处删除TD

$('#tblParticipantList > tr').eq(rowNum).children('td').eq(colNum).remove();