Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/03/2013, 12:37
deepdesign
 
Fecha de Ingreso: junio-2012
Ubicación: Santiago, Chile
Mensajes: 20
Antigüedad: 12 años, 7 meses
Puntos: 0
Cómo actualizo sólo algunos campos?

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));