Foros del Web » Programando para Internet » PHP »

Evitar UPDATE de imagen si no se ha cambiado

Estas en el tema de Evitar UPDATE de imagen si no se ha cambiado en el foro de PHP en Foros del Web. Hola a todos, hay algo que me tiene loca, he buscado, preguntado, ensayado y nada, tengo un formulario que me carga datos de una bd ...
  #1 (permalink)  
Antiguo 17/01/2013, 15:01
 
Fecha de Ingreso: enero-2013
Ubicación: Bogotá - Colombia
Mensajes: 1
Antigüedad: 11 años, 3 meses
Puntos: 0
Evitar UPDATE de imagen si no se ha cambiado

Hola a todos, hay algo que me tiene loca, he buscado, preguntado, ensayado y nada, tengo un formulario que me carga datos de una bd para actualizarlos, no siempre será necesario hacer cambios en todos los campos, si son de texto no hay problema pero sino actualizo la imagen no me respeta la que está en la bd, la manda como vacía y la borra. Alguien sabe como puedo solucionarlo??

Muchas gracias.

<?php

$titulo = $_POST['titulo'];
$contenido1 = $_POST['contenido1'];
$subtitulo = $_POST['subtitulo'];
$contenido2 = $_POST['contenido2'];
$foto = $_FILES['archivo']['name'];
$ruta = $_FILES['archivo']['tmp_name'];
$destino = "img_db/".$foto;
copy($ruta, $destino);

$query="UPDATE empresa set titulo='$titulo', parrafo1='$contenido1', subtitulo='$subtitulo', parrafo2='$contenido2', imagen='$foto'";

$result = mysql_query($query,$con) or die( "Error en $consulta: " . mysql_error() );

?>
  #2 (permalink)  
Antiguo 17/01/2013, 20:59
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Evitar UPDATE de imagen si no se ha cambiado

Debes comprobarlo con una condición:

Código PHP:
Ver original
  1. if ($_FILES['nombre_tu_campo']['error'] == 4) {
  2.     //... nada se subió, coge el de tu base de datos
  3. } else {
  4.   //... Comprueba que el error sea igual a cero
  5.   //... para proceder a subirlo e ingresar la url en la base de datos
  6. }

El código de error 4 significa que ningún archivo fue subido. Entonces puedes coger el que tienes en tu base de datos, en vez de enviarlo vacío como lo estás haciendo.

Otra cosa, no te recomiendo que uses la función copy, debes usar la función move_uploaded_file

y tu SQL porque no tiene un where?

Cualquier duda, postea en el foro de PHP.

Si quieren pueden moverlo.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: mysql, sql, update, campos, cambios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:45.