Cita:
Iniciado por opzina Se actualiza el campo que modifique en el formulario, pero se resetea o borra todo los otros campos. Es como que toma un update Global.
Ok, aqui el problema es que no estas siguiendo el procedimiento adecuado... que es:
1- Tomar la ID del registro a modificar... ya lo estas haciendo con
$ID = $_POST['id'];
2- Verificar que el registro realmente existe: SELECT * FROM tabla WHERE id = $ID, ver si hay resultados con mysql_num_rows() y, si existe, el correspondiente mysql_fetch_assoc()
3- Asignar los valores del formulario desde la lectura del registro ejemplo:
$titulo = $row['titulo'];
4- Ver que es lo que obtienes en $_POST:
Código PHP:
Ver original// Creas una matriz para la consulta
// Para cada campo, revisas si se modifico o si esta vacio:
if($_POST['titulo'] != '' && $_POST['titulo'] != $titulo) {
$query[] = "titulo = '$titulo'";
}
// En el caso de los archivos, es parecido:
if($_FILES['img_thumb']['name'] != '') {
// Primero mueves el archivo:
if(!$move) {
// Hubo un error... que vas a hacer aqui?, no se debe modificar el registro
// Finalizas con die, exit, regresas al formulario o lo que prefieras
}
$query[] = "img_thumb = 'ruta/{$_FILES['img_thumb']['name']}'";
}
// Hubo cambios?
// Si, hay que actualizar el registro
$query = "UPDATE tabla SET " . implode(', ', $query) . " WHERE id = $ID"; // Rediriges a otra pagina, das un mensaje o lo que quieras... aqui acaba todo
}