依學號刪資料
對應程式: delete_card_by_school_no.php

業務功能
根據學號完整刪除一位學生在打卡系統中的所有磁卡相關資料,包含:card_inputs(晶片碼對應)、card_kind(班級對應)、cards(卡片主檔)三筆關聯資料。
頁面操作
- 在輸入框填入要刪除的學生學號,送出後進入確認頁。
- 確認頁顯示該學號對應的 card_input 資料、card_kind 資料、card 主檔資料及各自的筆數。
- 點擊「送出」並經 JavaScript confirm 確認後執行刪除。
處理邏輯
- 透過
get_card_by_school_no()查詢學號對應的 card_id。 - 分別查詢 card_inputs、card_kind、cards 三張表,計算每張表中符合該 card_id 的資料筆數。
- 安全機制:每張表只有在該 card_id 恰好只有 1 筆資料時才執行刪除。若某張表有 0 筆或超過 1 筆,則跳過不刪並顯示紅色警告,避免誤刪。
備註
- 此頁面與 delete_card_by_card_id.php 功能完全相同,僅查詢方式不同(學號 vs. 卡號),程式邏輯(含
_get_count_num函式)幾乎一致。 - 本頁不會刪除打卡紀錄(enter_logs),僅刪除磁卡設定相關資料。
- 輸入值經
safe_db_value()處理以防注入。
使用的 Functions
| Function | 定義於 |
|---|---|
get_card_by_school_no($school_no) | 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 |