Cứ nghĩ mass editing sẽ là một khúc xương khó gặm, nhất là với những kẻ lười đọc tài liệu, lười tham khảo mã nguồn. Thực tình, chỉ cần có tí chút… thông minh 😆 là có thể giải quyết vấn đề (cười lăn lộn phát nữa).
Chìa khoá của vấn đề là ở việc xác định kiểu dữ liệu mảng cho $_POST
. Cụ thể là tương ứng với mỗi cột dữ liệu (column), ta dùng một mảng, và để phân biệt các giá trị trong mảng, ta định nghĩa luôn khoá (key) trong mảng tương ứng với dòng dữ liệu (row). Nghe có vẻ lằng nhằng vì ta dek biết gì về lí thuyết lập trình . Thôi, lấy cái ví dụ cho máu. Ví dụ, ta muốn sửa hàng loạt số hồ sơ của một các thành viên trong một đơn vị:
<tr> <th>1.</th> <td>Nguyễn Văn A</td> <td><input type="text" name="v[1]" value=""></input></td> </tr> <tr> <th>2.</th> <td>Trần Thị B</td> <td><input type="text" name="v[2]" value=""></input></td> </tr> <tr> <th>3.</th> <td>Lê Văn C</td> <td><input type="text" name="v[3]" value=""></input></td> </tr>
Sau khi nhập xong, nhấn “sắp mít”, thì ta sẽ lôi cái biến $_POST['v']
ra hành hạ:
foreach ($_POST['v'] as $key => $val) { // Kiểm tra, đối chiếu $val // UPDATE members SET profileid='$val' WHERE id='$key' }
Ố la la, thế là có thể quên đi cái cảnh phải mở từng hồ sơ ra để sửa.
Hứng chí với giải pháp “cũ người, mới ta” này, ta ngồi lọc cọc hiến mình cho E603 đến tận 2h sáng. Thỉnh thoảng ta lại vén môi… cười một mình (chắc trông cái mặt hí hửng đê tiện lắm). Nhưng khi ta ngó lại sau lưng, thấy một đống bát đũa chưa rửa đang khép nép trước chậu quần áo bẩn, nụ cười biến mất như chưa bao giờ xuất hiện. Ta tự an ủi mình: Sức người có hạn, được cái nọ thì mất cái kia…
Bổ sung:
Thêm một cái sờ cờ rin sọt 🙂
Bình luận