依卡號刪資料
對應程式: delete_card_by_card_id.php

業務功能
根據卡號(card_id,通常以 CT 開頭)完整刪除一張磁卡在打卡系統中的所有相關資料,包含:card_inputs(晶片碼對應)、card_kind(班級對應)、cards(卡片主檔)三筆關聯資料。
頁面操作
- 在輸入框填入要刪除的卡號(placeholder 提示「請CT開頭…」),送出後進入確認頁。
- 確認頁顯示該卡號對應的 card_input 資料、card_kind 資料、card 主檔資料及各自的筆數。
- 點擊「送出」並經 JavaScript confirm 確認後執行刪除。
處理邏輯
- 透過
get_card_by_card_id()查詢卡號是否存在。 - 分別查詢 card_inputs、card_kind、cards 三張表,計算每張表中符合該 card_id 的資料筆數。
- 安全機制:每張表只有在該 card_id 恰好只有 1 筆資料時才執行刪除。若某張表有 0 筆或超過 1 筆,則跳過不刪並顯示紅色警告,避免誤刪。
備註
- 此頁面與 delete_card_by_school_no.php 功能完全相同,僅查詢方式不同(卡號 vs. 學號)。
- 本頁不會刪除打卡紀錄(enter_logs),僅刪除磁卡設定相關資料。
- 輸入值經
safe_db_value()處理以防注入。
使用的 Functions
| Function | 定義於 |
|---|---|
get_card_by_card_id($card_id) | enter_logs/inc.php |
get_card_input_by_card_id($card_id) | enter_logs/inc.php |
get_card_kind_relationship_by_card_id($card_id) | enter_logs/inc.php |
get_all_kinds($is__key__kind_id) | enter_logs/inc.php |
safe_db_value($s) | wp-config.php |
_display_num($num) | enter_logs/admin/inc.php(頁面本地定義) |
$wpdb->delete() / $wpdb->get_results() | WordPress core |