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中文網其他相關文章!
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
刺客信條陰影:貝殼謎語解決方案
3 週前ByDDD
Windows 11 KB5054979中的新功能以及如何解決更新問題
2 週前ByDDD
在哪裡可以找到原子中的起重機控制鑰匙卡
3 週前ByDDD
節省R.E.P.O.解釋(並保存文件)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
刺客信條陰影 - 如何找到鐵匠,解鎖武器和裝甲定制
4 週前ByDDD

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3漢化版
中文版,非常好用

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)