Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Seleção da caixa de seleção PHP/MySQL Update para banco de dados


Você não tem nada aqui que defina os valores para zero. As caixas que não são marcadas simplesmente estarão ausentes do array $_POST.

Você precisará fazer uma lista separada dos nomes de todas as caixas de seleção e percorrê-las, comparando-as com o array $_POST.

Editar: Não ia escrever nenhum código, mas:
$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));
}

Observe que não precisamos realmente do mysql_real_escape_string aqui, pois sabemos que todos os valores de id são seguros, mas é uma boa prática caso alguém apareça mais tarde e altere descuidadamente o array $ allids.

Editar novamente: Suponha que não sabemos quais IDs procurar.
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));
}