Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wstaw Tak lub Nie do MySQL w oparciu o wartość pola wyboru

Problem z polami wyboru (jak zauważyłeś) polega na tym, że te niezaznaczone nie przesyłają żadnych danych.

Standardową sztuczką, aby to obejść, jest...

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

Gdy pole wyboru jest zaznaczone, jego wartość jest przesyłana tak, jak pojawia się w dalszej części dokumentu. Jeśli nie jest zaznaczone, ukryta wartość wejściowa jest przesyłana.

Następnie możesz po prostu sprawdzić wartość według nazwy

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

W konkretnym przypadku dołącz page_id w nazwie wejściowej, np.

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

Oraz w 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. Dołącz i wielokrotność i warunki

  2. Jak zaktualizować bazę danych osCommerce z wersji 2.2 do wersji 2.3?

  3. Używanie IS NULL i COALESCE w programie OrderBy Doctrine Querybuilder

  4. Jak stworzyć bazę danych mysql za pomocą sequelize (nodejs)

  5. Połącz wiele unikalnych tabel MySQL i uporządkuj według jednej kolumny