Foros del Web » Programando para Internet » PHP »

Actualizar noticias sin modificar foto

Estas en el tema de Actualizar noticias sin modificar foto en el foro de PHP en Foros del Web. Buenas estoy corriendo una pagina en modo administrador, donde subo una foto al servidor junto a dos input de texto y titulo, en la base ...
  #1 (permalink)  
Antiguo 18/06/2013, 10:42
 
Fecha de Ingreso: junio-2013
Mensajes: 3
Antigüedad: 11 años, 5 meses
Puntos: 0
Actualizar noticias sin modificar foto

Buenas estoy corriendo una pagina en modo administrador, donde subo una foto al servidor junto a dos input de texto y titulo, en la base de datos me escribe el nombre del archivo para luego acceder a el y poder mostrarlo.
Ahora estoy en una opcion de actualizar pero no se y no consigo que al actualizar el texto y el titulo pero NO la foto esta no se borre la direccion, como le digo que no me la cambie si no le adjunto un archivo. No se si me explico bien jeje mirar el codigo

Este es el PHP donde actualizo la noticia que tiene titulo, texto y el envio de una foto.
Código PHP:
  <h1>ACTUALIZAR UNA NOTICIA</h1>
       
        
        <form action="actualizar.php" method="post" enctype="multipart/form-data">
              <input type="hidden" name="desdeActualizaNoticia" value="true" />
            <input type="hidden" name="idnoticia" value="<?php echo $noticiaActual[0];?>" /> 
            Título: <input type="text" name="titulo" value="<?php echo $noticiaActual[1];?>"/><br/>
            Precio: <input type="text" name="texto" size="35" value="<?php echo $noticiaActual[2];?>"/><br/>
            
          <input name="archivo" type="file" size="35" value=" "/>
          <input name="enviar" type="submit" value="actualizar noticia" />
           
        </form>
    </body>
Con este envio la foto y actualizo los textos, pero lo que necesito es que si no le pongo ninguna foto no me toque la que hay en la base de datos
Código PHP:
<?php




 
    
// Datos de conexión a configurar
    
$user "xx";
    
$pass "xxx";
    
$bbdd "xxx";
 
    
// Ruta donde se guardarán las imágenes
    //$directorio = $_SERVER['DOCUMENT_ROOT'].'./imagenes';
    // Conecto a la BBDD
    
$dbh mysql_connect("localhost"$user$pass);
    
$db mysql_select_db($bbdd);
 
    
// Recibo los datos de la imagen
    
$nombre $_FILES['archivo']['name'];
    
$tipo $_FILES['archivo']['type'];
    
$tamano $_FILES['archivo']['size'];

    
$directorio =  "../imagenes/$nombre";
    echo 
$directorio;

    
// Muevo la imagen desde su ubicación
    // temporal al directorio definitivo
    //move_uploaded_file($_FILES['imagen']['tmp_name'],$directorio);
    
    
copy($_FILES['archivo']['tmp_name'],$directorio);
    
    
    
$id=$_POST['idnoticia'];
    
$texto=$_POST['texto'];
    
$titulo=$_POST['titulo'];
    
  
    
//include_once '../lib/accesoDatos.php'; 
    //$conexion=  getConexion();
      // Guardamos en la BBDD
    //$sql = "INSERT into noticias (titulo,texto,imagen) values ('$_POST[titulo]','$_POST[texto]','$nombre')";

   
$sqlUpadte "UPDATE noticias SET titulo='$titulo', texto='$texto', imagen='$nombre'
           WHERE idNoticia= '$id'"
;

    
$resultado mysql_query($sqlUpadte);
 
    
// Por si queremos la ID asignada a la imagen
    //$id = mysql_insert_id();
    
    
    
header('Location: listadoNoticias.php');
?>

gracias
  #2 (permalink)  
Antiguo 18/06/2013, 10:56
 
Fecha de Ingreso: septiembre-2012
Mensajes: 75
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: Actualizar noticias sin modificar foto

hazle una validacion del campo donde adjuntas que si campo es vacio que no actualize la foto y le haces UPDATE solo a los campos.
  #3 (permalink)  
Antiguo 18/06/2013, 10:59
 
Fecha de Ingreso: noviembre-2008
Mensajes: 24
Antigüedad: 16 años
Puntos: 0
Respuesta: Actualizar noticias sin modificar foto

Si no modificas o cambias algo en el imput de donde colocas la direccion de la foto no deberia actualizarse ese imput.
  #4 (permalink)  
Antiguo 18/06/2013, 11:25
 
Fecha de Ingreso: junio-2013
Mensajes: 3
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Actualizar noticias sin modificar foto

Gracias, muchas gracias lo conseguí asi :
con un if diciendo que si el tamaño del archivo es =0 que solo me actualice texto y titulo, no se si es la mejor forma pero parece que funciona
Código PHP:
    if ($tamano == 0)
        
        {
         
//include_once '../lib/accesoDatos.php'; 
    //$conexion=  getConexion();
      // Guardamos en la BBDD
    //$sql = "INSERT into noticias (titulo,texto,imagen) values ('$_POST[titulo]','$_POST[texto]','$nombre')";

   
$sqlUpadte "UPDATE noticias SET titulo='$titulo', texto='$texto'
           WHERE idNoticia= '$id'"
;
    
   
// $sqlUpadte = "UPDATE noticias SET titulo='$noticia[1]', texto='$noticia[2]',imagen='$nombre',
            //WHERE idNoticia= $noticia[0]";
    
    
 
    
$resultado mysql_query($sqlUpadte);
 
    
// Por si queremos la ID asignada a la imagen
    //$id = mysql_insert_id();
     
header('Location: listadoNoticias.php');   
        }
    else {
    
//include_once '../lib/accesoDatos.php'; 
    //$conexion=  getConexion();
      // Guardamos en la BBDD
    //$sql = "INSERT into noticias (titulo,texto,imagen) values ('$_POST[titulo]','$_POST[texto]','$nombre')";

   
$sqlUpadte "UPDATE noticias SET titulo='$titulo', texto='$texto', imagen='$nombre'
           WHERE idNoticia= '$id'"
;
    
   
// $sqlUpadte = "UPDATE noticias SET titulo='$noticia[1]', texto='$noticia[2]',imagen='$nombre',
            //WHERE idNoticia= $noticia[0]";
    
    
 
    
$resultado mysql_query($sqlUpadte);
 
    
// Por si queremos la ID asignada a la imagen
    //$id = mysql_insert_id();
    
header('Location: listadoNoticias.php');
    } 
  #5 (permalink)  
Antiguo 18/06/2013, 11:27
 
Fecha de Ingreso: noviembre-2008
Mensajes: 24
Antigüedad: 16 años
Puntos: 0
Respuesta: Actualizar noticias sin modificar foto

Que bueno que hayas podido solucionar..! saludos!
  #6 (permalink)  
Antiguo 18/06/2013, 11:30
 
Fecha de Ingreso: septiembre-2012
Mensajes: 75
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: Actualizar noticias sin modificar foto

asi es con una validacion de campo se soluciona, saludos.

Etiquetas: foto, modificar, mysql, select, sql
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:57.