iT邦幫忙

2026 iThome 鐵人賽

DAY 4
0
自我挑戰組

Medical Data Cleaner系列 第 22 篇

改善清理前後的資料預覽介面

  • 分享至 

  • xImage
  •  

在前幾天的開發中,已經完成醫療資料品質檢查、問題統計卡片、問題明細、資料清理與CSV匯出功能。
不過,當系統完成資料清理後,使用者還需要確認清理前後的資料筆數,以及清理後的資料內容是否符合預期。因此,今天的目標是改善清理後資料預覽的介面,讓使用者能更清楚地了解資料清理的結果。
一、顯示清理前後的資料筆數
首先,使用PHP的count()計算清理後的資料筆數,並將清理前後的筆數與移除的資料數量顯示在網頁上。

echo '<div class="data-summary">';
echo '<div class="data-summary-item">';
echo '清理前 <strong>' . $totalRows . '</strong> 筆';
echo '</div>';
echo '<div class="data-summary-item">';
echo '清理後 <strong>' . count($cleanedRows) . '</strong> 筆';
echo '</div>';
echo '<div class="data-summary-item">';
echo '移除 <strong>'
    . ($totalRows - count($cleanedRows))
    . '</strong> 筆';
echo '</div>';
echo '</div>';

其中,$totalRows代表讀取到的原始資料筆數,而count($cleanedRows)則代表清理後保留下來的資料筆數。
兩者相減後,就能計算資料筆數的減少量。不過,這個數字代表的是筆數差異,不一定全部都是重複資料,也可能包含其他移除規則造成的變化。
二、使用CSS改善摘要區塊

.data-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 16px 0;
}
.data-summary-item {
    background: #edf4f1;
    border-radius: 8px;
    padding: 12px 18px;
    color: #245c53;
}
.data-summary-item strong {
    font-size: 20px;
    margin-left: 6px;
}

透過display: flex,不同的摘要資訊可以排列在同一行;當可用空間不足時,flex-wrap: wrap會讓項目自動換行,避免畫面過於擁擠。
三、改善資料表格的瀏覽方式

.table-wrapper {
    width: 100%;
    overflow-x: auto;
    margin: 16px 0 28px;
    border-radius: 10px;
}
.table-wrapper table {
    margin: 0;
    min-width: 760px;
}

這樣可以保留原本的資料欄位,不必為了配合畫面而刪減資料,也能改善使用者在較小螢幕上的瀏覽體驗。
另外,在輸出資料表格時,也使用htmlspecialchars()處理欄位名稱與資料內容,避免特殊字元被瀏覽器直接解讀成HTML。


上一篇
改善資料品質明細的呈現方式
下一篇
改善清理前後的變更紀錄介面
系列文
Medical Data Cleaner 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言