Foros del Web » Programando para Internet » PHP »

problemas para actualizar imagenes en una BD

Estas en el tema de problemas para actualizar imagenes en una BD en el foro de PHP en Foros del Web. tengo el siguiente codigo(una parte de el) que lo utilizo para actualizar en una BD mysql previamente guardados. consta de 6 imagenes con titulos. pero ...
  #1 (permalink)  
Antiguo 14/08/2009, 15:52
 
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 461
Antigüedad: 22 años, 3 meses
Puntos: 1
problemas para actualizar imagenes en una BD

tengo el siguiente codigo(una parte de el) que lo utilizo para actualizar en una BD mysql previamente guardados. consta de 6 imagenes con titulos. pero el problema es que si por ejemplo quiero actualizar solo dos imagenes en las 4 restantes me lo deja vacio y lo que quiero es que mantenga la ruta de las imagenes anteriores

Código PHP:
//directorio
$id_prop = $id_in;
$nuevodirectorio="upload/$id_prop";
$upload = "$nuevodirectorio/";

//variable tamaño maximo archivo
$size=200000;

//condiciones tamaño y tipo de archivo
$count=6;
for ($i=0;$i<$count;$i++) {
$filesize=$_FILES['img']['size'][$i];
$filename=trim($_FILES['img']['name'][$i]);
$filetmp=$_FILES['img']['tmp_name'][$i];


if($filesize < $size) {
    
     if((ereg(".jpg", $filename)) || (ereg(".gif", $filename)) || (ereg(".JPG", $filename))|| (ereg(".GIF", $filename))){
    $uploadfile[$i] = $upload . $filename;
    
        if (move_uploaded_file($_FILES['img']['tmp_name'][$i],$uploadfile[$i])) { 
        $exito=="si";
        
} else { echo("el archivo no fue subido"); }
    } else { echo("el archivo no es una imagen"); }
        } else { echo("el tamaño del archivo excede el maximo permitido"); } }
        
// informo 
if($exito=="si") {?>
    <div class="exito"><?php echo("Las imagenes fueron subidas con exito al directorio $upload"); ?></div>
    <div class="paths" align="center"><a href="showadd.php?id_prop=<?php echo($id_prop); ?>">ver datos introducidos</a><br />
         <a href="insert_prop.php">volver a formulario</a></div>
<?php }
//guardo en BD

$imagen="UPDATE imagen SET
                            
                            id_in='$id_in',
                            img1='$uploadfile[0]',
                            title1='$title1',
                            img2='$uploadfile[1]',
                            title2='$title2',
                            img3='$uploadfile[2]',
                            title3='$title3',
                            img4='$uploadfile[3]',
                            title4='$title4',
                            img5='$uploadfile[4]',
                            title5='$title5',
                            img6='$uploadfile[5]',
                            title6='$title6'
                          "
;

mysql_query($imagen);
?>
__________________
Marcelo Acampora
mi pagina web personal
www.destinitytravel.com
  #2 (permalink)  
Antiguo 14/08/2009, 16:06
 
Fecha de Ingreso: julio-2009
Mensajes: 118
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: problemas para actualizar imagenes en una BD

En el último trozo de código lo que tienes que hacer es verificar que hayas introducido antes las imágenes de una en una. algo así:

Código PHP:
if($uploadfile[0] and $title1)
$imagen="UPDATE imagen SET id_in='$id_in',img1='$uploadfile[0]',title1='$title1'";
mysql_query($imagen);

if(
$uploadfile[1] and $title2)
$imagen="UPDATE imagen SET id_in='$id_in',img1='$uploadfile[2]',title1='$title2'";


mysql_query($imagen);

etc... 
__________________
Todo sobre programación en PHP
  #3 (permalink)  
Antiguo 14/08/2009, 16:21
 
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 461
Antigüedad: 22 años, 3 meses
Puntos: 1
Respuesta: problemas para actualizar imagenes en una BD

grac ias albert1980 funciono !!!!
__________________
Marcelo Acampora
mi pagina web personal
www.destinitytravel.com
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 05:39.