sql >> Base de Datos >  >> RDS >> Mysql

Selección de la casilla de verificación Actualizar PHP/MySQL a la base de datos

No tiene nada aquí que establezca los valores en cero. Las casillas que no están marcadas simplemente estarán ausentes de la matriz $_POST.

Deberá hacer una lista separada de los nombres de todas las casillas de verificación y recorrerlas, comparándolas con la matriz $_POST.

Editar: No iba a escribir ningún código, pero:

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

Tenga en cuenta que realmente no necesitamos mysql_real_escape_string aquí, ya que sabemos que todos los valores de id son seguros, pero es una buena práctica en caso de que alguien llegue más tarde y despreocupadamente cambie la matriz $allids.

Editar de nuevo: Supongamos que no sabemos qué ID buscar.

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