sql >> Databáze >  >> RDS >> Mysql

PHP/MySQL Aktualizovat výběr zaškrtávacího políčka do databáze

Nemáte zde nic, co by nastavilo hodnoty na nulu. Pole, která nejsou zaškrtnuta, budou v poli $_POST jednoduše chybět.

Budete muset vytvořit samostatný seznam názvů všech zaškrtávacích políček a procházet je a porovnávat je s polem $_POST.

Upravit: Nechtěl jsem napsat žádný kód, ale:

$allids = array('id1','id2','id3');

foreach ($allids as $oneid) {
  $val = (int) isset($_POST[$oneid]);  // will be 0 or 1
  mysql_query("UPDATE istable SET showPP = $val WHERE id = ".mysql_real_escape_string($oneid));
}

Všimněte si, že mysql_real_escape_string zde ve skutečnosti nepotřebujeme, protože víme, že všechny hodnoty id jsou bezpečné, ale je to dobrá praxe pro případ, že by se někdo později objevil a neopatrně změnil pole $allids.

Upravit znovu: Předpokládejme, že nevíme, jaká ID hledat.

mysql_query("UPDATE istable SET showPP = 0");
foreach ($_POST as $oneid=>$nothing) {
  mysql_query("UPDATE istable SET showPP = 1 WHERE id = ".mysql_real_escape_string($oneid));
}


  1. MySQL vyberte, kde má vlastnost pole JSON hodnotu

  2. Pojmenované příkazy MariaDB

  3. Vazba parametrů na Oracle Dynamic SQL

  4. Přílohy v Oracle Applications R12