IDで更新する更新フォームとクエリを作成しようとしています。しかし、データをフォームに入れると、データがなくてもすべてのフィールドが更新されるため、データベースでは「0」になります。データのあるフィールドだけを更新する必要があります。
皆さん、私を助けてくれますか?
未定義の変数があることを常に教えてくれます! そして、1 番目と 2 番目のフィールドのみを更新します。
ありがとう、これが私のコードです:
if (isset($_POST['alterar'])) {
$id_cliente = $_POST["id_cliente"];
$nome_cliente = $_POST["nome_cliente"];
$telefone_cliente = $_POST["telefone_cliente"];
$morada_cliente = $_POST["morada_cliente"];
$email_cliente = $_POST["email_cliente"];
$servico = $_POST["servico"];
$n_pecas = $_POST["n_pecas"];
$tp_arranjo = $_POST["tp_arranjo"];
$descricao = $_POST["descricao"];
}
$query = "UPDATE `clientes` SET ";
if ($nome_cliente) $columns[] = "`nome_cliente` = '{$nome_cliente}'";
if ($telefone_cliente) $columns[] = "`telefone_cliente`= '{$telefone_cliente}'";
if ($morada_cliente) $columns[] = "`morada_cliente` = '{$morada_cliente}'";
if ($email_cliente) $columns[] = "`email_cliente` = '{$email_cliente}'";
if ($servico) $columns[] = "`servico` = '{$servico}'";
if ($n_pecas) $columns[] = "`n_pecas` = '{$n_pecas}'";
if ($tp_arranjo) $columns[] = "`tp_arranjo` = '{$tp_arranjo}'";
if ($descricao) $columns[] = "`descricao` = '{$descricao}'";
$columns = implode(",",$columns);
$query .= $columns . " WHERE id_cliente='$id_cliente'";
mysql_query($query);
?>