thinkphp6是一款非常優秀的PHP開發框架,它基於MVC架構,開發效率高、易上手、安全可靠,同時極大簡化了程式碼編寫的流程。今天,讓我們來談談使用thinkphp6實作多選刪除的方法。
一、前言
多選刪除是現代Web應用程式的常見功能之一。它允許用戶在資料表格或清單中選擇多個項目,然後可以刪除它們。在這篇文章中,我們將介紹如何使用thinkphp6的控制器和模型來實現這個功能。
二、建立資料庫
首先,我們需要在MySQL資料庫中建立一個範例表。我們將使用命令列工具或phpMyAdmin來完成這個步驟。
CREATE TABLE example_table
(
id
int(11) NOT NULL AUTO_INCREMENT,
name
varchar(255) NOT NULL ,
email
varchar(255) NOT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
<?php namespace appcontroller; use thinkacadeView; 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' => '删除成功']; } }###在上面的程式碼中,我們首先導入了類別,並定義了兩個函數index和delete。函數index用於從ExampleModel中取得所有數據,並將其傳遞到範本中。函數delete從HTTP請求中取得要刪除的ID列表,並使用ExampleModel::destroy方法刪除這些項目。 ######接下來,我們需要為範本新增一個多選框以及刪除按鈕。開啟app /View /example /index.html文件,新增以下程式碼:###
<!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>###在上述程式碼中,我們使用了JavaScript來取得所有選取的多重選取框,並將這些ID傳遞給伺服器的/ delete路由。 ######五、測試######現在,我們可以開啟控制台,使用以下指令將Web伺服器啟動。 ######php think run######然後在瀏覽器中輸入localhost:8000/example,即可開啟example的首頁,點擊多重選取方塊以選擇要刪除的項目。最後點選刪除按鈕即可刪除選擇的項目。 ######六、結論######在這篇文章中,我們使用thinkphp6的控制器,模型和視圖來實現了多選刪除的功能。這個功能可以在Web應用程式中發揮重要作用,優化應用程式的使用者體驗。 ###
以上是thinkphp多重選擇刪除的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver Mac版
視覺化網頁開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

WebStorm Mac版
好用的JavaScript開發工具