Hướng dẫn multiple delete in php with checkbox demo - xóa nhiều lần trong php với bản demo hộp kiểm

Đó là thời gian tốn thời gian để xóa từng bản ghi từng cái một khỏi danh sách.

Để làm cho quá trình xóa dễ dàng hơn cho người dùng bằng cách cho phép họ chọn nhiều bản ghi bằng các hộp kiểm.

Thực hiện Xóa truy vấn theo các hộp kiểm đã chọn.

Trong buổi trình diễn, tôi đang hiển thị các bản ghi từ bảng cơ sở dữ liệu MySQL và thêm hộp kiểm trên mỗi hàng. Sử dụng nút gửi đơn để xóa các bản ghi đã chọn bằng PHP.

Hướng dẫn multiple delete in php with checkbox demo - xóa nhiều lần trong php với bản demo hộp kiểm


Nội dung

  1. Cấu trúc bảng
  2. Cấu hình
  3. Danh sách ghi lại
  4. Xóa bỏ
  5. Sự kết luận

1. Cấu trúc bảngTable structure

Tạo bảng users.

CREATE TABLE `users` (
  `id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
  `username` varchar(50) NOT NULL,
  `name` varchar(60) NOT NULL,
  `gender` varchar(10) NOT NULL,
  `email` varchar(60) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

2. Cấu hìnhConfiguration

Tạo một config.php cho kết nối cơ sở dữ liệu.

Đã hoàn thành mã

<?php

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "tutorial"; /* Database name */

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
   die("Connection failed: " . mysqli_connect_error());
}

3. Danh sách ghi lạiRecord List

Tạo một nút gửi trong <form> và liệt kê các bản ghi bảng users trong

<?php

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "tutorial"; /* Database name */

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
   die("Connection failed: " . mysqli_connect_error());
}
0. Trên mỗi
<?php

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "tutorial"; /* Database name */

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
   die("Connection failed: " . mysqli_connect_error());
}
1 Thêm phần tử hộp kiểm trên ô cuối.

Đặt tên phần tử hộp kiểm là

<?php

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "tutorial"; /* Database name */

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
   die("Connection failed: " . mysqli_connect_error());
}
2 và sử dụng
<?php

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "tutorial"; /* Database name */

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
   die("Connection failed: " . mysqli_connect_error());
}
3 trong thuộc tính giá trị.

Đã hoàn thành mã

<?php include "config.php"; ?>
<div class='container'>

  <!-- Form -->
  <form method='post' action=''>
    <input type='submit' value='Delete' name='but_delete'><br><br>

    <!-- Record list -->
    <table border='1' id='recordsTable' style='border-collapse: collapse;' >
      <tr style='background: whitesmoke;'>
        <th>Username</th>
        <th>Name</th>
        <th>Gender</th>
        <th>Email</th>
        <th>&nbsp;</th>
     </tr>

     <?php 
     $query = "SELECT * FROM users";
     $result = mysqli_query($con,$query);
     
     while($row = mysqli_fetch_array($result) ){
        $id = $row['id'];
        $username = $row['username'];
        $name = $row['name'];
        $gender = $row['gender'];
        $email = $row['email'];
     ?>
     <tr id='tr_<?= $id ?>'>

        <td><?= $username ?></td>
        <td><?= $name ?></td>
        <td><?= $gender ?></td>
        <td><?= $email ?></td>

        <!-- Checkbox -->
        <td><input type='checkbox' name='delete[]' value='<?= $id ?>' ></td>
 
    </tr>
    <?php
    }
    ?>
   </table>
 </form>
</div>

3. Danh sách ghi lại

Tạo một nút gửi trong <form> và liệt kê các bản ghi bảng users trong

<?php

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "tutorial"; /* Database name */

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
   die("Connection failed: " . mysqli_connect_error());
}
0. Trên mỗi
<?php

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "tutorial"; /* Database name */

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
   die("Connection failed: " . mysqli_connect_error());
}
1 Thêm phần tử hộp kiểm trên ô cuối.

Đã hoàn thành mã

<?php 
if(isset($_POST['but_delete'])){

  if(isset($_POST['delete'])){
    foreach($_POST['delete'] as $deleteid){

      $deleteUser = "DELETE from users WHERE id=".$deleteid;
      mysqli_query($con,$deleteUser);
    }
  }
 
}
?>

3. Danh sách ghi lạiConclusion

Tạo một nút gửi trong <form> và liệt kê các bản ghi bảng users trong

<?php

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "tutorial"; /* Database name */

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
   die("Connection failed: " . mysqli_connect_error());
}
0. Trên mỗi
<?php

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "tutorial"; /* Database name */

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
   die("Connection failed: " . mysqli_connect_error());
}
1 Thêm phần tử hộp kiểm trên ô cuối.

Đặt tên phần tử hộp kiểm là

<?php

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "tutorial"; /* Database name */

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
   die("Connection failed: " . mysqli_connect_error());
}
2 và sử dụng
<?php

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "tutorial"; /* Database name */

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
   die("Connection failed: " . mysqli_connect_error());
}
3 trong thuộc tính giá trị.

Trên nút Xóa Nhấp vào Đọc các hộp kiểm đã kiểm tra bằng cách lặp trên

<?php

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "tutorial"; /* Database name */

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
   die("Connection failed: " . mysqli_connect_error());
}
4 và nhận ID xóa.

Xin chào! Lần này tôi đã đưa ra một hướng dẫn PHP thể hiện về việc xóa nhiều bản ghi bằng hộp kiểm bằng cơ sở dữ liệu PHP & MySQL. Theo Quản lý CRUD, chúng tôi nên cung cấp tùy chọn để xóa nhiều hàng khỏi cơ sở dữ liệu vì việc xóa từng bản ghi sẽ tốn thời gian. Ngoài ra, bạn nên yêu cầu xác nhận người dùng trước khi xóa hồ sơ để tránh nhấp chuột vô tình. Ở đây chúng tôi sẽ xem cách thực hiện xóa nhiều thứ này trong PHP và MySQL.deleting multiple records with checkbox using PHP & MySQL database. Under CRUD management, we should provide option for deleting multiple rows from database as deleting records one by one would be time consuming. Also it is recommended to ask for user confirmation before deleting records to avoid accidental clicks. Here we'll see how to implement this multiple delete in php and mysql.

Xóa nhiều bản ghi trong PHP MySQL bằng hộp kiểm:

Đối với bản demo, chúng tôi phải tạo giao diện người dùng với bảng HTML hiển thị tất cả các bản ghi người dùng từ cơ sở dữ liệu cùng với hộp kiểm trên mỗi hàng. Người dùng phải đánh dấu vào hộp kiểm để chọn các hàng để xóa và nhấp vào nút 'Xóa' được cung cấp bên dưới bảng.

Chỉ để cải thiện trải nghiệm người dùng, chúng tôi cũng phải cung cấp tùy chọn cho người dùng chọn tất cả các hộp kiểm cùng một lúc bằng cách kiểm tra hộp kiểm đặt trên cột tiêu đề của bảng. Sau đó, chúng tôi phải hiển thị một cửa sổ bật lên để xác nhận hành động của người dùng và một khi người dùng thừa nhận nó, chúng tôi phải xóa tất cả các bản ghi đã chọn và làm mới bảng người dùng và hiển thị một số thông báo.

Tạo nên cơ sở dữ liệu:

Đây là cơ sở dữ liệu MySQL mà chúng tôi cần cho bản demo.

CREATE DATABASE `db_demo`;
Use `db_demo`;

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fname` varchar(30) NOT NULL,
  `lname` varchar(30) NOT NULL,
  `email` varchar(60) NOT NULL,
  `city` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6;

INSERT INTO `users` (`id`, `fname`, `lname`, `email`, `city`) VALUES
(1, 'Jim', 'Connor', '', 'Las Vegas'),
(2, 'Taylor', 'Fox', '', 'San Francisco'),
(3, 'Daniel', 'Greyson', '', 'New York'),
(4, 'Julia', 'Brown', '', 'Los Angeles'),
(5, 'Rose', 'Harris', '', 'New York');

Mã HTML & PHP:

Dưới đây là tệp index.php chứa giao diện người dùng mà chúng tôi đã thảo luận trước đó và mã PHP để xóa nhiều bản ghi khỏi cơ sở dữ liệu.

index.php

<?php
// mysql connection
$hostname = "localhost";
$username = "root";
$password = "";
$dbname = "db_demo";

$con = mysqli_connect($hostname, $username, $password, $dbname) or die("Error: " . mysqli_error($con));

// fetch records
$result = @mysqli_query($con, "SELECT * FROM users") or die("Error: " . mysqli_error($con));

// delete records
if(isset($_POST['chk_id']))
{
    $arr = $_POST['chk_id'];
    foreach ($arr as $id) {
        @mysqli_query($con,"DELETE FROM users WHERE id = " . $id);
    }
    $msg = "Deleted Successfully!";
    header("Location: index.php?msg=$msg");
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>Delete Multiple Rows Using PHP & MySQL</title>
    <meta content="width=device-width, initial-scale=1" name="viewport" >
    <link rel="stylesheet" href="css/bootstrap.css" type="text/css" />
</head>
<body>
<div class="container" style="margin-top: 20px;">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <form action="index.php" method="post">
            <?php if (isset($_GET['msg'])) { ?>
            <p class="alert alert-success"><?php echo $_GET['msg']; ?></p>
            <?php } ?>
            <table class="table table-striped table-hover">
                <thead>
                    <tr>
                    <th><input id="chk_all" name="chk_all" type="checkbox"  /></th>
                    <th>First Name</th>
                    <th>Last Name</th>
                    <th>Email ID</th>
                    <th>City</th>
                    </tr>
                </thead>
                <tbody>
                <?php while($row = mysqli_fetch_assoc($result)) { ?>
                <tr>
                    <td><input name="chk_id[]" type="checkbox" class='chkbox' value="<?php echo $row['id']; ?>"/></td>
                    <td><?php echo $row['fname']; ?></td>
                    <td><?php echo $row['lname']; ?></td>
                    <td><?php echo $row['email']; ?></td>
                    <td><?php echo $row['city']; ?></td>
                </tr>
                <?php } ?>
                </tbody>
            </table>
            <input id="submit" name="submit" type="submit" class="btn btn-danger" value="Delete Selected Row(s)" />
            </form>
        </div>
    </div>
</div>
<script src="js/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#chk_all').click(function(){
        if(this.checked)
            $(".chkbox").prop("checked", true);
        else
            $(".chkbox").prop("checked", false);
    });
});

$(document).ready(function(){
    $('#delete_form').submit(function(e){
        if(!confirm("Confirm Delete?")){
            e.preventDefault();
        }
    });
});
</script>
</body>
</html>

Chúng tôi đã sử dụng hai hàm jQuery trong mã của chúng tôi, loại đầu tiên

<?php

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "tutorial"; /* Database name */

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
   die("Connection failed: " . mysqli_connect_error());
}
6 - được kích hoạt khi kiểm tra/bỏ chọn hộp kiểm cột tiêu đề
<?php

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "tutorial"; /* Database name */

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
   die("Connection failed: " . mysqli_connect_error());
}
7. Nó chọn/bỏ chọn tất cả các hộp kiểm dựa trên trạng thái đã kiểm tra của hộp kiểm 'CHK_ALL'.

Và chức năng jQuery tiếp theo

<?php

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "tutorial"; /* Database name */

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
   die("Connection failed: " . mysqli_connect_error());
}
8 sẽ được kích hoạt khi người dùng nhấp vào nút
<?php

$host = "localhost"; /* Host name */
$user = "root"; /* User */
$password = ""; /* Password */
$dbname = "tutorial"; /* Database name */

$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
   die("Connection failed: " . mysqli_connect_error());
}
9 bật lên cảnh báo xác nhận và chỉ gửi biểu mẫu khi người dùng nhấp vào nút
<?php include "config.php"; ?>
<div class='container'>

  <!-- Form -->
  <form method='post' action=''>
    <input type='submit' value='Delete' name='but_delete'><br><br>

    <!-- Record list -->
    <table border='1' id='recordsTable' style='border-collapse: collapse;' >
      <tr style='background: whitesmoke;'>
        <th>Username</th>
        <th>Name</th>
        <th>Gender</th>
        <th>Email</th>
        <th>&nbsp;</th>
     </tr>

     <?php 
     $query = "SELECT * FROM users";
     $result = mysqli_query($con,$query);
     
     while($row = mysqli_fetch_array($result) ){
        $id = $row['id'];
        $username = $row['username'];
        $name = $row['name'];
        $gender = $row['gender'];
        $email = $row['email'];
     ?>
     <tr id='tr_<?= $id ?>'>

        <td><?= $username ?></td>
        <td><?= $name ?></td>
        <td><?= $gender ?></td>
        <td><?= $email ?></td>

        <!-- Checkbox -->
        <td><input type='checkbox' name='delete[]' value='<?= $id ?>' ></td>
 
    </tr>
    <?php
    }
    ?>
   </table>
 </form>
</div>
0.

Hướng dẫn multiple delete in php with checkbox demo - xóa nhiều lần trong php với bản demo hộp kiểm

Khi các bản ghi bị xóa, trang sẽ được làm mới với bộ hồ sơ người dùng còn lại và thông báo thành công sẽ được hiển thị trên trang.

Hướng dẫn multiple delete in php with checkbox demo - xóa nhiều lần trong php với bản demo hộp kiểm

Bản demo này sử dụng cách tiếp cận thủ tục nhưng nếu bạn muốn làm điều đó với PHP PDO, thì hãy kiểm tra hướng dẫn này.

Đọc thêm: Kiểm tra tính khả dụng của tên người dùng trực tiếp bằng Php & Ajax Live Username Availability Check Using PHP & AJAX

Đừng bỏ lỡ: Cách nhập CSV vào cơ sở dữ liệu MySQL bằng Php How to Import CSV into MySQL Database Using PHP

Điều đó giải thích về cách xóa nhiều bản ghi với hộp kiểm trong cơ sở dữ liệu PHP và MySQL. Bạn có thể tùy chỉnh mã phù hợp với nhu cầu của bạn. Gặp bạn trong một hướng dẫn thú vị khác.

Làm thế nào để xóa nhiều hàng trong PHP bằng hộp kiểm?

Cấu trúc bảng. Tạo bảng người dùng. ....
Cấu hình. Tạo một cấu hình. ....
Danh sách ghi lại. Tạo một nút gửi trong và liệt kê các bản ghi bảng người dùng trong. ....
Xóa bỏ. Trên nút Xóa Nhấp vào Đọc các hộp kiểm đã kiểm tra bằng cách lặp trên $ _POST ['Xóa'] và nhận ID xóa. ....
Conclusion..

Làm thế nào để xóa nhiều trong PHP?

Các bước trong bản cập nhật/xóa nhiều hàng PHP..
Chọn hàng bằng đầu vào hộp kiểm ..
Hiển thị biểu mẫu UI để cập nhật các cột bảng ..
Gửi mảng chi tiết hàng cho PHP ..
Lặp lại qua mảng chi tiết hàng để áp dụng truy vấn cập nhật/xóa cho mỗi ..

Làm thế nào tôi có thể lưu trữ nhiều giá trị hộp kiểm trong PHP?

Chèn nhiều giá trị hộp kiểm trong cơ sở dữ liệu bằng PHP..
Tạo một biểu mẫu HTML, test_post.PHP, với nhiều hộp kiểm như hình dưới đây.....
Chọn nhiều hộp kiểm như được hiển thị bên dưới ..
Bây giờ bấm vào nút Gửi và cửa sổ bật lên sẽ được hiển thị để xác nhận như được hiển thị bên dưới.Đầu ra.Chèn giá trị hộp kiểm trong cơ sở dữ liệu ..

Làm thế nào có thể xóa dữ liệu trong PHP?

Dữ liệu Redis và PHP có thể bị xóa khỏi các bảng MySQL bằng cách thực thi câu lệnh Xóa SQL thông qua chức năng PHP MySQL_Query.Dưới đây là một ví dụ đơn giản để xóa hồ sơ vào bảng nhân viên.Để xóa một bản ghi trong bất kỳ bảng nào, cần phải xác định vị trí bản ghi đó bằng cách sử dụng mệnh đề có điều kiện.executing SQL DELETE statement through PHP function mysql_query. Below is a simple example to delete records into employee table. To delete a record in any table it is required to locate that record by using a conditional clause.