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

2 respuestas más de otros expertos

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