繁体   English   中英

如何使用复选框将表中的多行数据插入 MySQL 中的另一个表

[英]How to insert multiple row data from a table into another table in MySQL using checkboxes

我试图通过单击表下的批准/拒绝按钮将我的数据从 table_request 插入到 table_list 中。

用户将单击 select 全部或 select 特定行的复选框。 批准后,table_request 中的数据插入 table_list 并从 table_request 中删除。

当前的问题是关于 foreach 和 inserts 语句是错误的。 单击批准后,它只能将 table_request id 插入 table_list。

这是我的 table_request.php

<form name="bulk_action_form" action="action.php" method="post" onSubmit="return approve_confirm();"/>
<table class="bordered">
<tr>
  <th><input type="checkbox" name="select_all" id="select_all" value=""/></th>        
  <th>Name</th>
  <th>Remark</th>
</tr>

<?php
  $query = "select * from `table_request`;";
  if(count(fetchAll($query))>0){
  foreach(fetchAll($query) as $row){
?>

    <tr>
    <td><input type="checkbox" name="checked_id[]" class="checkbox" value="<?php echo $row['id']; ?>"/></td>
    <td><?php echo $row['Name'] ?></td>
    <td><?php echo $row['Remark'] ?></td>
    </tr>
    <?php } }else{ ?>
        <tr><td colspan="5">No records found.</td></tr> 
    <?php } ?>

</table>
<input type="submit" name="approve_btn" value="Approve"/>
</form>

这是我的行动。php

<?php
session_start();
include_once('connection.php');
if(isset($_POST['approve_btn']))
{
    $idArr = $_POST['checked_id'];
    $Name  = $_POST['Name'];
    $Remark = $_POST['Remark'];
    foreach($idArr as $key => $value)
    {
        $save = "INSERT INTO table_list(id,Name,Remark) VALUES ('".$value."','".$Name[$key]."','".$Remark[$key]."')";
                $query = mysqli_query($conn,$save);
    }
    $query .= "DELETE FROM `table_request` WHERE `table_request`.`id` = '$id';";
    header("Location:table_request.php");
}
?>

连接.php文件

<?php
$server_name = "localhost";
$user_name   = "username";
$password    = "password";
$db_name     = 'database';

// Create connection
$conn = mysqli_connect($server_name, $user_name, $password, $db_name);

// Check connection
if (mysqli_connect_errno()) {
   die("Connection failed: ");
}

table_request.php文件

<?php include_once('connection.php'); ?>

<form name="bulk_action_form" action="action.php" method="post" onSubmit="return approve_confirm();"/>
<table class="bordered">
  <tr>
    <th>Select</th>        
    <th>Name</th>
    <th>Remark</th>
</tr>
<?php
   $query = mysqli_query($conn, "SELECT * FROM table_request");
   if (mysqli_num_rows($query) > 0) : foreach($query as $row) : ?>
     <tr>
       <td><input type="checkbox" name="checked_id[]" class="checkbox" value=" 
          <?php echo $row['id']; ?>"/></td>
          <td><?php echo $row['Name']; ?></td>
          <td><?php echo $row['Remark']; ?></td>
     </tr>
   <?php endforeach; else : ?>
      <tr><td colspan="5">No records found.</td></tr> 
   <?php endif; ?>
</table>
  <input type="submit" name="approve_btn" value="Approve"/>
</form>

action.php文件

<?php
    include_once('connection.php');

    if(isset($_POST['approve_btn'])) {
       foreach ($_POST['checked_id'] as $id) {
          $query = mysqli_query($conn, "SELECT * FROM table_request WHERE id = $id");
          $result = $query->fetch_object();

          $save = "INSERT INTO table_list(id, Name, Remark) VALUES ('".$result->id."','".$result->Name."','".$result->Remark."')";

          // For save data
          mysqli_query($conn, $save);

          // For delete data
          mysqli_query($conn, "DELETE FROM table_request WHERE id = $id");
       }

      header('Location:table_request.php');
   }

暂无
暂无

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

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