繁体   English   中英

如何从一个表中删除一个条目,然后将删除的数据插入另一个表? (PHP,MySQL)

How to delete an entry FROM a table and then INSERT the deleted data INTO another table? (PHP, MySQL)

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我在一个名为“assignedwork_tb”的表中有数据。 我想从“assignedwork_tb”表中删除等于当前会话的“Request_ID”的条目(Request_ID 是“assignedwork_tb”表的主键)。 同时,我想将删除的条目插入另一个名为“completed_tb”的表中。 链接参数应为“Request_ID” 所有表都在同一个 SQL 数据库中。 我尝试了以下方法,但没有成功。 谁能帮帮我吗? 提前致谢。

define('TITLE', 'Assigned Work Orders');
define('PAGE', 'work');
include('includes/header.php'); 
include('../dbConnection.php');
session_start();
 if(isset($_SESSION['is_login'])){
  $tEmail = $_SESSION['tEmail'];
 } else {
  echo "<script> location.href='Login.php'; </script>";
 }
?>
<div class="col-sm-9 col-md-10 mt-5">
  <?php 
 $sql = "SELECT * FROM assignedwork_tb";
 $result = $conn->query($sql);
 if($result->num_rows > 0){
  echo '<table class="table">
  <thead>
    <tr>
      <th scope="col">Req ID</th>
      <th scope="col">Request Info</th>
      <th scope="col">Name</th>
      <th scope="col">Address</th>
      <th scope="col">City</th>
      <th scope="col">Mobile</th>
      <th scope="col">Employer</th>
      <th scope="col">Assigned Date</th>
      <th scope="col">Action</th>
    </tr>
  </thead>
  <tbody>';
  while($row = $result->fetch_assoc()){
    echo '<tr>
    <th scope="row">'.$row["request_id"].'</th>
    <td>'.$row["request_info"].'</td>
    <td>'.$row["requester_name"].'</td>
    <td>'.$row["requester_add2"].'</td>
    <td>'.$row["requester_city"].'</td>
    <td>'.$row["requester_mobile"].'</td>
    <td>'.$row["assign_trans"].'</td>
    <td>'.$row["assign_date"].'</td>
    <td><form action="viewassignwork.php" method="POST" class="d-inline"> <input type="hidden" name="id" value='. $row["request_id"] .'><button type="submit" class="btn btn-warning" name="view" value="View"><i class="far fa-eye"></i></button></form>
    <form action="" method="POST" class="d-inline"> <input type="hidden" name="id" value='. $row["request_id"] .'><button type="submit" class="btn btn-secondary" name="delete" value="Delete"><i class="far fa-trash-alt"></i></button></form>
    <form action="" method="POST" class="d-inline"><input type="hidden" name="id" value='. $row["request_id"] .'><button type="submit" class="btn btn-success" name="completed" value="Completed"><i class="far fa-check-square"></i></button></form>
    </td>
    </tr>';
   }
   echo '</tbody> </table>';
  }else {
    echo "0 Result";
  }
  if(isset($_REQUEST['delete'])){
    $sql = "DELETE FROM assignedwork_tb WHERE request_id = {$_REQUEST['id']}";
    if($conn->query($sql) === TRUE){
      // echo "Record Deleted Successfully";
      // below code will refresh the page after deleting the record
      echo '<meta http-equiv="refresh" content= "0;URL=?deleted" />';
      } else {
        echo "Unable to Delete Data";
      }
    }
    if(isset($_REQUEST['completed'])){
      $sql5 = "DELETE FROM assignedwork_tb WHERE request_id = {$_REQUEST['id']} OUTPUT [deleted]. (`rno`, `request_id`, `request_info`, `request_desc`, `requester_name`, `requester_add1`, `requester_add2`, `requester_city`, `requester_state`, `requester_zip`, `requester_email`, `requester_mobile`, `assign_trans`, `assign_date`, `rImage`, `orifilename`) INTO completed_tb (`rno`, `request_id`, `request_info`, `request_desc`, `requester_name`, `requester_add1`, `requester_add2`, `requester_city`, `requester_state`, `requester_zip`, `requester_email`, `requester_mobile`, `assign_trans`, `assign_date`, `rImage`, `orifilename`)";
      if($conn->query($sql5) === TRUE){
        // echo "Record Deleted Successfully";
        // below code will refresh the page after deleting the record
        echo '<meta http-equiv="refresh" content= "0;URL=?completed" />';
        } else {
          echo "Unable to Mark as Completed";
        }
      }
  ?>
</div>
</div>
</div>
2 个回复

首先使用准备语句。

也许你应该使用触发器或者只是反过来:SELECT 和 INSERT 然后 DELETE ^^

确保不要在 2 个表之间使用外键,因为在这种情况下,您不会使用已删除的键保存任何内容

您不能删除和插入不再存在的内容。 您宁愿将记录插入到 completed_tb 中,然后根据您提到的 id 从另一个表中删除它。

1 从一个表中查找并提取数据并将其插入到 php 和 mysql 中的另一个表中

我正在创建一个销售系统,我想通过其代码/ID 了解产品的成本。 上传产品所有数据的部分很好,但我想知道成本以及将其引入另一个表的成本。 这是在产品表中: 例如,我想知道代码为 44730 的产品的成本是多少,为此我必须使用以下内容: 现在,理论上应该是 1 的相同数据我想将它引入另一个应该执行此操作 ...

3 MySQL将大容量数据从一个表插入另一个表

将大容量数据从一个表插入另一个表, 主表 子表 如果我成功地将数据从主表插入到子表中,我想将主表迁移的列更新为1或其他方式,我使用带有游标的存储过程从我的子表中回滚数据。 ...

2014-07-01 14:48:35 1 42   mysql
7 PHP 将数据从一个表插入到另一个表

我试图将数据从一个表插入到另一个表,这是我得到的错误消息: 错误:INSERT INTO content2 (d1, d2, d3) VALUES (John, Doo, 24); '字段列表'中的未知列'John'错误:INSERT INTO content2 (d1, d2, d3) ...

9 从另一个表以及MYSQL和PHP中的表单插入数据

我有一个表格,我将数据发布到mysql。 查询应该将表单中的数据插入到table1中,还应该包含另一个table2中的数据,其中从表单中发送的ID等于table2中的ID? 我使用旧的mysql连接,我知道,不是最好的:-)和php! 希望有人可以帮助,谢谢:-)马丁 想也许 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM