cari
Rumahrangka kerja phpThinkPHPthinkphp multi-pilih padam

thinkphp6 ialah rangka kerja pembangunan PHP yang sangat baik Ia berdasarkan seni bina MVC Ia mempunyai kecekapan pembangunan yang tinggi, mudah digunakan, selamat dan boleh dipercayai, dan sangat memudahkan proses penulisan kod. Hari ini, mari kita bincangkan tentang cara menggunakan thinkphp6 untuk melaksanakan pemadaman berbilang pilihan.

1. Pengenalan

Pemadaman berbilang pilih ialah salah satu fungsi umum aplikasi web moden. Ia membolehkan pengguna memilih berbilang item dalam jadual atau senarai data dan kemudian memadamnya. Dalam artikel ini, kami akan memperkenalkan cara menggunakan pengawal dan model thinkphp6 untuk mencapai fungsi ini.

2. Wujudkan pangkalan data

Pertama, kita perlu mencipta jadual sampel dalam pangkalan data MySQL. Kami akan menggunakan alat baris arahan atau phpMyAdmin untuk melengkapkan langkah ini.

BUAT JADUAL example_table (
id int(11) NOT NULL AUTO_INNCREMENT,
name varchar(255) NOT NULL,
email var NOT char(255) NULL,
KUNCI UTAMA (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Ini akan mencipta jadual baharu yang dipanggil "example_table" dengan id, nama dan medan e-mel.

3. Hasilkan model dan pengawal

Seterusnya, kita perlu menjana model dan pengawal berdasarkan struktur jadual yang dibuat di atas.

Gunakan alat baris arahan Artisan thinkphp6 untuk menjana fail ini dengan cepat:

php think make:model ExampleModel --migration

Menjalankan arahan di atas akan menghasilkan fail model baharu ( app /Model/ExampleModel.php ) dan fail pemindahan pangkalan data baharu ( pangkalan data /migrations /yyyymmddhhmmss_create_example_model.php ).

php think make:controller ExampleController

Menjalankan arahan di atas akan menghasilkan fail baharu yang dipanggil ExampleController.php ( app /Controller/ExampleController.php ).

4. Tulis kod

Sekarang kami bersedia untuk menulis kod pengawal untuk mengendalikan pemadaman berbilang pilihan. Dalam pengawal, kita perlu melaksanakan dua fungsi tindakan utama: indeks (digunakan untuk memaparkan semua data) dan padam (digunakan untuk mengendalikan permintaan pemadaman).

Dalam fail app/Controller/ExampleController.php, tambahkan kod berikut:

<?php
namespace appcontroller;

use thinkacadeView;
use thinkRequest;
use appmodelExampleModel;

class ExampleController
{
    public function index()
    {
        $list = ExampleModel::all();

        return View::fetch('index', [
            'list' => $list,
        ]);
    }

    public function delete(Request $request)
    {
        $ids = $request->param('ids');

        foreach ($ids as $id) {
            ExampleModel::destroy($id);
        }

        return ['status' => 'success', 'message' => '删除成功'];
    }
}

Dalam kod di atas, kami mula-mula mengimport kelas dan menentukan dua fungsi indeks dan padam. Indeks fungsi digunakan untuk mendapatkan semua data daripada ExampleModel dan menghantarnya ke dalam templat. Fungsi padam mendapatkan senarai ID yang akan dipadamkan daripada permintaan HTTP dan memadamkan item menggunakan kaedah ExampleModel::destroy.

Seterusnya, kita perlu menambah kotak semak dan butang padam pada templat. Buka fail aplikasi /View /example /index.html dan tambahkan kod berikut:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Example</title>
</head>
<body>
    <h1 id="Example">Example</h1>
    <table>
        <thead>
            <tr>
                <th><input type="checkbox" id="check-all"></th>
                <th>ID</th>
                <th>Name</th>
                <th>Email</th>
            </tr>
        </thead>
        <tbody>
        <?php foreach ($list as $item): ?>
            <tr>
                <td><input type="checkbox" name="ids[]" value="<?php echo $item->id ?>"></td>
                <td><?php echo $item->id ?></td>
                <td><?php echo $item->name ?></td>
                <td><?php echo $item->email ?></td>
            </tr>
        <?php endforeach ?>
        </tbody>
    </table>
    <button id="btn-delete">删除</button>
    <script>
        var btnDelete = document.querySelector('#btn-delete');
        btnDelete.addEventListener('click', function () {
            var ids = [];
            var checkboxes = document.querySelectorAll('input[type=checkbox][name^=ids]:checked');
            for (var i = 0; i < checkboxes.length; i++) {
                ids.push(checkboxes[i].value);
            }
            if (ids.length > 0) {
                if (confirm('确定删除?')) {
                    var xhr = new XMLHttpRequest();
                    xhr.open('POST', '/example/delete');
                    xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
                    xhr.onload = function () {
                        var result = JSON.parse(xhr.responseText);
                        if (result.status == 'success') {
                            alert(result.message);
                            location.reload();
                        } else {
                            console.error(result);
                            alert('删除失败');
                        }
                    };
                    xhr.onerror = function () {
                        console.error(xhr);
                        alert('网络异常,请重试');
                    };
                    xhr.send(JSON.stringify({ids: ids}));
                }
            } else {
                alert('请选择要删除的项目');
            }
        });
        var checkAll = document.querySelector('#check-all');
        checkAll.addEventListener('click', function () {
            var checkboxes = document.querySelectorAll('input[type=checkbox][name^=ids]');
            for (var i = 0; i < checkboxes.length; i++) {
                checkboxes[i].checked = checkAll.checked;
            }
        });
    </script>
</body>
</html>

Dalam kod di atas, kami telah menggunakan JavaScript untuk mendapatkan semua kotak pilihan yang dipilih dan menghantar ID ini ke laluan pelayan / padam.

5. Ujian

Kini, kita boleh membuka konsol dan menggunakan arahan berikut untuk memulakan pelayan web.

php think run

Kemudian masukkan localhost:8000/example dalam penyemak imbas untuk membuka halaman utama contoh, klik kotak berbilang pilih untuk memilih item yang hendak dipadamkan. Akhir sekali, klik butang Padam untuk memadam item yang dipilih.

6. Kesimpulan

Dalam artikel ini, kami menggunakan pengawal, model dan pandangan thinkphp6 untuk melaksanakan fungsi pemadaman berbilang pilih. Ciri ini boleh memainkan peranan penting dalam aplikasi web dan mengoptimumkan pengalaman pengguna aplikasi tersebut.

Atas ialah kandungan terperinci thinkphp multi-pilih padam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna