Php 在MYSQLI中删除一个表中的行,然后插入到另一个表中
我有两个表名,分别称为“message”和“trash” 在“message”表中,我有一些表格式的数据包含(TO、SUBJECT、MSG、DATE),我使用Jquery应用了CHECKALL功能和CHECKBOX 现在我要执行的是,当有人删除任何一行时,它会将该行移动到另一个表,即“垃圾箱”中 删除查询是完美的工作,所以我想修改此代码。。。 这是我的密码-Php 在MYSQLI中删除一个表中的行,然后插入到另一个表中,php,jquery,mysqli,Php,Jquery,Mysqli,我有两个表名,分别称为“message”和“trash” 在“message”表中,我有一些表格式的数据包含(TO、SUBJECT、MSG、DATE),我使用Jquery应用了CHECKALL功能和CHECKBOX 现在我要执行的是,当有人删除任何一行时,它会将该行移动到另一个表,即“垃圾箱”中 删除查询是完美的工作,所以我想修改此代码。。。 这是我的密码- <form action="delete.php" method="post" name="data_table"> <
<form action="delete.php" method="post" name="data_table">
<table class="table table-hover table-striped">
<tbody>
<tr style="background-color:#222D32;">
<td><input type="checkbox" id="check_all" value=""></td>
<td><input name="submit" type="submit" value="Delete" id="submit" class="btn btn-default btn-sm"></td>
<td></td>
<td></td>
</tr>
<tr>
<td><input type="checkbox" value="<?php echo $rw['id']; ?>" name="data[]" id="data"></td>
<td><b><?php echo $rw['fto']; ?></td>
<td><b><?php echo $rw['subject']; ?></b></td>
<td><b><?php echo $rw['date']; ?></b></td>
<tr>
</tbody>
</table>
</form>
下面是delete.php文件
<?php
require_once("config.php");
if(isset($_POST['submit'])) {
$id_array = $_POST['data']; // return array
$id_count = count($_POST['data']); // count array
for($i=0; $i < $id_count; $i++) {
$id = $id_array[$i];
$query = mysqli_query($con, "DELETE FROM `message` WHERE `id` = '$id'");
if(!$query) { die(mysqli_error()); }
}
header("Location: sent.php"); // redirect after deleting
}
?>
在delete.php中,您应该编写如下内容
<?php
require_once("config.php");
if(isset($_POST['submit'])) {
$id_array = $_POST['data']; // return array
$id_count = count($_POST['data']); // count array
for($i=0; $i < $id_count; $i++) {
$id = $id_array[$i];
$query = mysqli_query($con, "INSERT INTO trash SELECT * FROM `message` WHERE `id` = '$id'");
$query = mysqli_query($con, "DELETE FROM `message` WHERE `id` = '$id'");
if(!$query) { die(mysqli_error()); }
}
header("Location: sent.php"); // redirect after deleting
}
?>
在这种情况下,您应该使用触发器
。非常感谢您的回复,它工作正常,但在“垃圾”表中,它接收到0个值???垃圾和消息表列是否匹配,如果是,则匹配列数据类型。此逻辑必须有效,直到出现相同的问题,两个表中的所有列字段名称都相同。。i、 e'id'、'fto'、'subject'、'msg'、'date'嗨,在从表URL选择行时,有关插入查询的不同语法,请参阅此链接:
<?php
require_once("config.php");
if(isset($_POST['submit'])) {
$id_array = $_POST['data']; // return array
$id_count = count($_POST['data']); // count array
for($i=0; $i < $id_count; $i++) {
$id = $id_array[$i];
$query = mysqli_query($con, "INSERT INTO trash SELECT * FROM `message` WHERE `id` = '$id'");
$query = mysqli_query($con, "DELETE FROM `message` WHERE `id` = '$id'");
if(!$query) { die(mysqli_error()); }
}
header("Location: sent.php"); // redirect after deleting
}
?>