Cita: Lo que me gustaría saber es, cómo puedo modificar tan sólo los campos que yo elijo, sin que se modifiquen los que quiero que permanezcan.
Creando dinámicamente la query, de modo de agregar en la misma sólo aquellos campos que hayan sido modificados.
Es una práctica habitual, aunque lleva algo de codificación, y de tiempo.
Algo parecido a esto:
Código PHP:
Ver original<?php
...
//capturo las variables enviadas desde el formulario via POST
$dato1=$_POST["dato1"];
$dato2=$_POST["dato2"];
$dato3=$_POST["dato3"];
$id =$_POST["id"];
// para verificar si se inserto al menos un SET previo
$flag = 0;
$sql="UPDATE tabla SET ";
if(isset($dato1) && $dato1 != "") {
$sql.="dato1 = '$dato1'";
$flag = 1;
}
if(isset($dato2) && $dato2 != "") {
if($flag ==1) $sql.=", ";
$sql.="dato2 = '$dato2'";
$flag = 1;
}
if(isset($dato3) && $dato3 != "") {
if($flag ==1) $sql.=", ";
$sql.="dato3 = '$dato3'";
}
$sql.=" WHERE id = '$id'";
...
?>
Puede hacerse mejor, pero esa es la idea.