Hola. Tengo unos datos de un form que envío por post y actualizo una tabla en mi base de datos. Este form tiene los siguientes campos:
campo1 textbox
campo2 combobox
campo3 combobox
Mi problema es que el usuario debería poder hacer cambios sólo en un campo, ej campo 1, y el campo 2 y 3 dejarlos tal cual. Pero si la base de datos ya tenía datos en el campo 2 y 3 los pierdo.
Creo que tengo que validar si los campos tienen datos, que actualice, pero no me sale. Este es el código del update:
Código PHP:
if ((isset($_POST["MM_update"])) &&($_POST["MM_update"] == "form1")) {
$updateSQL = sprintf("UPDATE mitabla SET campo1=%s, campo2=%s, campo3=%s, PRIMERA_CONSULTA_RRLL=%s, PRIMERA_RESPUESTA_RRLL=%s, ULTIMA_CONSULTA_RRLL=%s, ULTIMA_RESPUESTAS_RRLL=%s, TIEMPO_TOTAL_CASO=%s, TIEMPO_TOTAL_REGION=%s, TIEMPO_TOTAL_RRLL=%s, CIERRE_REGION=%s, TIPO_INVESTIGACION=%s, MATERIA=%s, ESTADO=%s, SANCION=%s, TIPOSANCION=%s, SINSANCION=%s, MOTIVODESPIDO=%s, JARDIN=%s, OBSERVACIONES=%s WHERE ID_HECHO=%s",
GetSQLValueString($_POST['campo1'], "text"),
GetSQLValueString($_POST['campo2'], "text"),
GetSQLValueString($_POST['campo3'], "text"),
mysql_select_db($database_conex, $conex);
$Result1 = mysql_query($updateSQL, $conex) or die(mysql_error());
$updateGoTo = "mipagina.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}