Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Auswahl des Kontrollkästchens PHP/MySQL Update auf Datenbank

Sie haben hier nichts, was die Werte auf Null setzt. Kästchen, die nicht angekreuzt sind, fehlen einfach im $_POST-Array.

Sie müssen eine separate Liste mit den Namen aller Kontrollkästchen erstellen und diese durchgehen und sie mit dem $_POST-Array vergleichen.

Bearbeiten: Wollte keinen Code schreiben, aber:

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

Beachten Sie, dass wir den mysql_real_escape_string hier nicht wirklich brauchen, da wir wissen, dass alle id-Werte sicher sind, aber es ist eine gute Übung, falls später jemand vorbeikommt und das $allids-Array leichtsinnig ändert.

Erneut bearbeiten: Angenommen, wir wissen nicht, nach welchen IDs gesucht werden soll.

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