Tengo una página donde la finalidad es que el usuario "actualice" los datos de un cliente para esto tengo una página en php que al seleccionar de un Combobox el cliente (se carga de la base de datos) me despliega en un DIV los campos editables de Nombre y Descripcion del cliente. Al clickar en "Actualizar" manda los parámetros a una función ajax que debería hacer el UPDATE en la base de datos pero me manda error.
Detalle1: Para INSERT si me funciona esta función de ajax pero para UPDATE no funciona.
Este es la función AJAX:
Código PHP:
Ver original
function procesar_formulario($form_entrada){ $ssql = "insert into entrada (cantidad, idproducto) values ( '$form_entrada[cantidad]','$form_entrada[idproducto]')"; $salida = "Insertado correctamente. Insertar Otro"; }else{ } //instanciamos el objeto para generar la respuesta con ajax $respuesta = new xajaxResponse(); //escribimos en la capa con id="respuesta" el texto que aparece en $salida $respuesta->assign("mensaje","innerHTML",$salida); //tenemos que devolver la instanciación del objeto xajaxResponse return $respuesta; } //registramos la función creada anteriormente al objeto xajax $xajax->register(XAJAX_FUNCTION,"procesar_formulario"); //El objeto xajax tiene que procesar cualquier petición $xajax->processRequest();
Este es mi form:
Código PHP:
Ver original
<div id="mensaje"> <form id="formulario" name="form1" method="post" action=""> <table width="265" border="0"> <tr> <td width="92" style="text-align: right">Nombre:</td> <td width="98"><label for="textfield"></label> <input name="nombre" type="text" class="header" id="textfield" size="50" /></td> </tr> <tr> <td style="text-align: right">Descripción:</td> <td><label for="textfield2"></label> <input name="descripcion" type="text" class="header" id="textfield2" size="50" /></td> </tr> </table> <p> <input type="button" name="button" id="button" value="Enviar" onClick="xajax_procesar_formulario(xajax.getFormValues('formulario'))"/> </p> Rellena los datos de este formulario y pulsa "Enviar" <p> </p> </form>
Este es mi proceso_cliente.php para cargar el DIV
Código PHP:
Ver original
$sql="select * from cliente where idcliente=".$_GET["id"].""; if (! $res ){ echo 'Cliente no existe'; exit; } else{ $idcliente=$row["idcliente"]; $nombre=$row["nombre"]; $descripcion=$row["descripcion"]; $fecha=$row["fecha"]; echo' <input type="hidden" class="input" name="idcliente" id="idcliente" value="'.$idcliente.'" required> <table width="265" border="0"> <tr> <td width="92" style="text-align: right">Nombre:</td> <td width="98"><label for="textfield"></label> <input type="text" class="header" name="nombre" id="nombre" value="'.$nombre.'" required> </tr> <tr> <td style="text-align: right">Descripción:</td> <td><label for="textfield2"></label> <input name="descripcion" type="text" class="header" id="textfield2" value="'.$descripcion.'"size="45" /> </tr> </table> <p> '; } } ?>
Este es el error
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(nombre, descripcion) values ('ABC','146' ) WHERE idcliente=14' at line 1