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

Como atualizar 3 colunas de tabelas enquanto apenas uma coluna está visível na página


Não atualize colunas que não estão sendo direcionadas para atualização. Por exemplo, se a mensagem tradicional fosse selecionada, você atualizaria apenas esta coluna. Eu provavelmente usaria consultas separadas aqui.
foreach ($_POST['patientid'] as $index => $patientid) {
    $id = mysql_real_escape_string($_POST['id'][$index]);
    $data1 = mysql_real_escape_string($patientid);
    $data2 = mysql_real_escape_string($_POST['traditionalmessage'][$index]);
    $data3 = mysql_real_escape_string($_POST['simplifiedmessage'][$index]);
    $data4 = mysql_real_escape_string($_POST['engmessage'][$index]);

    if ($data2 != null && $data2 != '') {
        mysql_query("UPDATE table SET patientid ='$data1',
          traditionalmessage='$data2' WHERE id=$id")   or die(mysql_error());
    }
    else if ($data3 != null && $data3 != '') {
        mysql_query("UPDATE table SET patientid ='$data1',
          simplifiedmessage='$data3' WHERE id=$id")   or die(mysql_error());
    }
    else if ($data4 != null && $data4 != '') {
        mysql_query("UPDATE table SET patientid ='$data1',
          engmessage='$data4' WHERE id=$id")   or die(mysql_error());
    }
}

Observe que acredito que você esteja usando uma API PHP muito antiga e obsoleta para MySQL. Para começar, isso o beneficiaria muito usando declarações preparadas.