Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chèn Có hoặc Không vào MySQL dựa trên giá trị hộp kiểm

Vấn đề với các hộp kiểm (như bạn đã lưu ý) là những hộp không được chọn sẽ không gửi bất kỳ dữ liệu nào.

Mẹo tiêu chuẩn để giải quyết vấn đề này là ...

<input type="hidden" name="field_name" value="0">
<input type="checkbox" name="field_name" value="1">

Khi hộp kiểm được chọn, giá trị của nó sẽ được gửi khi nó xuất hiện sau này trong tài liệu. Nếu không được chọn, giá trị đầu vào ẩn sẽ được gửi.

Sau đó, bạn có thể chỉ cần kiểm tra giá trị theo tên

$field = isset($_POST['field_name']) ? $_POST['field_name'] : false;
$dbFlag = $field ? 'Yes' : 'No';

Trong trường hợp cụ thể của bạn, hãy bao gồm page_id trong tên đầu vào, ví dụ:

<input type="hidden" name="likebutton[416]" value="0">
<input type="checkbox" name="likebutton[416]" value="1">

Và trong PHP

foreach ($_POST['likebutton'] as $pageId => $likeFlag) {
    $dbFlag = $likeFlag ? 'Yes' : 'No';

    // update DB
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL xóa nhiều hàng trong một điều kiện truy vấn duy nhất cho mỗi hàng

  2. Tham số ràng buộc cho mệnh đề WHERE IN với PDO

  3. Toán hạng nên chứa 1 cột - MySQL KHÔNG VÀO

  4. cách tìm dữ liệu chính xác giữa vùng đường chéo đã chọn trong truy vấn mysql

  5. Làm cách nào để đặt innodb_buffer_pool_size toàn cầu?