Duda con actualizar datos en php

Hola buenas tardes, espero estés bien tengo una pregunta con respecto a la actualización de datos comencemos desde el principio mi bd se llama siccac y la tabla que quiero actualizar se llama funcionario tengo un formulario y un script que ejecuta la acción de actualizar, en cierto modo lo hace pero cuando me actualiza algún campo los otros los deja en blanco; la tabla esta compuesta por 10 campos los cuales son:
ced_fun
nom_ape_fun
fecha_n
fecha_i
fec_ult_asc
Credencial
Edad
Genero
Cargo
Ubicación
El script que utilice para esta actualización es el siguiente:
<?php
include("conexion.php");
session_start();
$cedula = $_POST['cedula'];
$nombres = $_POST['nombres'];
$fn = $_POST['fn'];
$fi = $_POST['fi'];
$fua = $_POST['fu'];
$cre = $_POST['cre'];
$edad = $_POST['edad'];
$genero = $_POST['genero'];
$cargo = $_POST['cargo'];
$ubi = $_POST['ubi'];
// introducimos el query para actualizar el registro
mysql_query("update funcionario set nom_ape_fun=('$nombres'),fecha_n=($fn),fecha_i=($fi),fec_ult_asc=($fua),credencial=('$cre'),edad=('$edad'), genero=('$genero'),cargo=('$cargo'),ubicacion=('$ubi') where ced_fun=('$cedula')");
echo "Funcionario actualizado en forma correcta!!!";
// liberamos la memoria del query de la base de datos
mysql_free_result($funcionario);
?>
El query esta perfecto pero el resultado no es el esperado, que se supone que a través de cedula es que podré hacer las modificaciones me explico mejor, se supone que cuando introduzco la cedula la misma debe permitir hacer cualquier modificación a cualquier campo es decir si mi cedula es 10200010 y tiene la ubicación puerto la cruz y en realidad esta en mérida debería poder modificarlo pero en lugar de eso lo que hace es que muestra el registro en blanco mucho sabré agradecer tu ayuda gracias de antemano

3 Respuestas

Respuesta
1
Perdón por la tardanza, me disculpa estaba en un viaje y no había podido contestar.
Te recomiendo principalmente que uses más los estándares SQL.
Te dejo un ejemplo para que tomes y modifiques y me dices como te va.
"UPDATE funcionario SET nom_ape_fun='$nombres', fecha_n='$fn', fecha_i='$fi', fec_ult_asc='$fua', credencial='$cre', edad='$edad', genero='$genero', cargo='$cargo', ubicacion='$ubi' WHERE ced_fun='$cedula'"
Prueba actualizándolo de esa manera y miramos.
Respuesta
1
Esto:
No le coloques parentecis () y valida que la información que el usuario envía a la base de datos cumpla con el tipo que le colocaste al crear el campo en la tabla...
Éxitos!
 $id = $_POST['id'];
 $tipo = $_POST['tipo'];
 $radicado = $_POST['radicado'];
 if (mysql_query("UPDATE tbl_caso SET id_tipo='$tipo', radicado='$radicado'WHERE id='$id'" )){
  echo 'Listo! Registro actualizado...'; 
 } else {
  echo "ERROR: se genero error intentando actualizar el registro. Por favor contactar con el administrador".mysql_error();
 }
Respuesta
1
Haz un echo del query que estás realizando para ver la consulta exacta que llega a la BD.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas