sql >> Database >  >> RDS >> Mysql

PHP/MySQL Update checkbox selectie naar database

Je hebt hier niets dat de waarden op nul zet. Boxen die niet zijn aangevinkt, zullen gewoonweg niet aanwezig zijn in de $_POST-array.

U moet een aparte lijst maken met de namen van alle selectievakjes en deze doorlopen, en ze vergelijken met de $_POST-array.

Bewerken: Wilde geen code schrijven, maar:

$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));
}

Merk op dat we de mysql_real_escape_string hier niet echt nodig hebben, omdat we weten dat alle id-waarden veilig zijn, maar het is een goede gewoonte voor het geval iemand later langskomt en achteloos de $allids-array verandert.

Opnieuw bewerken: Stel dat we niet weten naar welke ID's we moeten zoeken.

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. Hoe de mysql-database in XAMPP te herstellen?

  2. Java JDBC MySQL-uitzondering:bewerking niet toegestaan ​​nadat ResultSet is gesloten

  3. MySQL:beperking toevoegen als deze niet bestaat

  4. MySQL - Unieke externe sleutel