Foros del Web » Programando para Internet » PHP »

Galeria de imagenes manejada por php + mysql

Estas en el tema de Galeria de imagenes manejada por php + mysql en el foro de PHP en Foros del Web. Buenas tardes gente, les hago una consulta, hace unos dias ya que estoy intentando solucionar esto pero realmente no puedo asi que por tal motivo ...
  #1 (permalink)  
Antiguo 10/03/2013, 13:51
 
Fecha de Ingreso: febrero-2012
Ubicación: Buenos Aires
Mensajes: 23
Antigüedad: 12 años, 2 meses
Puntos: 0
Exclamación Galeria de imagenes manejada por php + mysql

Buenas tardes gente, les hago una consulta, hace unos dias ya que estoy intentando solucionar esto pero realmente no puedo asi que por tal motivo recurro a ustedes.

hice un administrador para una galeria de imagenes las cuales se suben a mysql utilizando el formato LONGBLOB la cual tiene los campos:

num_ident, imagen, nombre, tamano, formato.

num_ident con auto increment y imagen con longblob

a su vez genere otra tabla la cual lleva

num_ident. nombre, descripcion.

al cargar las imagenes no tengo ningun inconveniente, el problema viene al querer modificar las imagenes ya sea reescribir la existente, modificar el nombre, o la descripcion

les dejo los dos codigos a ver si alguien me puede ayudar.

Formulario para la modificacion de las imagenes:

Código PHP:
<?php
    
include("conexion.php");
    
$consulta=mysql_query("SELECT* FROM descripcion_fotos WHERE num_ident"$conectar);
    
$modificar=mysql_fetch_array($consulta);
      
?>
  <form action="foto_modificada.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
      <p>Código:<br />
        <label>
          <input name="codigo" type="text" class="formulario" id="codigo" value="<?php echo $modificar['num_ident']; ?>" readonly />
        </label>
      </p>
      <p>Nombre de la foto:<br />
        <label>
          <input name="nombre" type="text" class="formulario" id="nombre" value="<?php echo $modificar['nombre']; ?>" size="45" />
        </label>
      </p>
      <p>Descripcion:<br />
        <label>
          <textarea name="descripcion" cols="45" rows="5" class="formulario" id="descripcion"><?php echo $modificar['descripcion']; ?></textarea>
        </label>
      </p>
     <p>        <label>
          <span class="texto_chico">*el límite de tamaño para las imágenes es de 65kb
          </span>
          <input name="foto" type="file" class="formulario" id="foto" />
          <input name="lim_tamano" type="hidden" id="lim_tamano" value="650000" />
        </label></p> 
      <p>
        <label>
          <input type="submit" name="button" id="button" value="Modificar" />
        </label>
      </p>
</form>
hasta ahi funciona correctamente ya que me trae el numero de la imagen, el nombre y la descripcion. el problema es al modificarlo.

foto_modificada.php:

Código PHP:
    <?php
      $nombre
=$_POST['nombre'];
    
$descripcion=$_POST['descripcion'];
    
$foto_name$_FILES['foto']['name'];
    
$foto_size$_FILES['foto']['size'];
    
$foto_type=  $_FILES['foto']['type'];
    
$foto_temporal$_FILES['foto']['tmp_name'];
    
$lim_tamano$_POST['lim_tamano'];
    
    if (
$foto_type=="image/x-png" OR $foto_type=="image/png"){
 
$extension="image/png";
 }
if (
$foto_type=="image/pjpeg" OR $foto_type=="image/jpeg"){
 
$extension="image/jpeg";
 }
if (
$foto_type=="image/gif" OR $foto_type=="image/gif"){
 
$extension="image/gif";
 }
 
 if (
$foto_name != "" AND $foto_size != 0
                           
AND $nombre !='' AND
                        
$foto_size<=$lim_tamano AND $extension !=''){
 
 
$f1fopen($foto_temporal,"rb");
 
$foto_reconvertida fread($f1$foto_size);
 
$foto_reconvertida=addslashes($foto_reconvertida);
    
    include (
"conexion.php");
    
    
$meter="UPDATE fotos SET ('$foto_reconvertida','$nombre', $foto_size, '$extension' WHERE num_ident)";
    
$cargar_producto=mysql_query("UPDATE descripcion_fotos SET nombre, descripcion WHERE num_ident)"$conectar);
    if (
mysql_query($meter,$conectar)){
        
    echo (
"<p>La foto se agregó correctamente</p>");
        }else{
        echo (
"Ha habido un error al guardar la foto");
    }
}else{
    echo 
"<h2>No ha podido transferirse el fichero</h2>";
 }
    
  
?>
al presionar modificar me devuelve siempre "Ha habido un error al guardar la foto"

tambien he probado de modificar

Código PHP:
$meter="UPDATE fotos SET ('$foto_reconvertida','$nombre', $foto_size, '$extension' WHERE num_ident)";
    
$cargar_producto=mysql_query("UPDATE descripcion_fotos SET nombre, descripcion WHERE num_ident)"$conectar);
    if (
mysql_query($meter,$conectar)) 
por

Código PHP:
$meter=mysql_query("UPDATE fotos SET imagen($foto_reconvertida', $foto_size, '$extension') '$nombre' WHERE num_ident)"$conectar);
    
$cargar_producto=mysql_query("UPDATE descripcion_fotos SET nombre, descripcion WHERE num_ident)"$conectar);
    if (
mysql_query($meter,$conectar)) 
pasa exactamente lo mismo

si alguien me puede dar una mano se lo agradeceria

desde ya muchas gracias!
  #2 (permalink)  
Antiguo 10/03/2013, 20:10
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Galeria de imagenes manejada por php + mysql

No estás armando bien las consultas, en un update pretendes incluir los nombres de campo y en otro los valores.

Necesitas un sólo UPDATE, pero con SET campo1 = valor1, campo2 = valor2

Aparte, después de cada consulta, conviene saber si hay un error:

mysql_query(/* consulta */) or die('Error en consulta: ' . mysql_error());
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 10/03/2013, 21:05
 
Fecha de Ingreso: febrero-2012
Ubicación: Buenos Aires
Mensajes: 23
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Galeria de imagenes manejada por php + mysql

Cita:
Iniciado por Triby Ver Mensaje
No estás armando bien las consultas, en un update pretendes incluir los nombres de campo y en otro los valores.

Necesitas un sólo UPDATE, pero con SET campo1 = valor1, campo2 = valor2

Aparte, después de cada consulta, conviene saber si hay un error:

mysql_query(/* consulta */) or die('Error en consulta: ' . mysql_error());
intente como vos decis pero me sigue tirando lo mismo y obviamente ninguna de las 2 tablas se actualiza...
  #4 (permalink)  
Antiguo 10/03/2013, 22:20
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Galeria de imagenes manejada por php + mysql

Y cómo quedó ahora tu código?
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 11/03/2013, 08:11
 
Fecha de Ingreso: febrero-2012
Ubicación: Buenos Aires
Mensajes: 23
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Galeria de imagenes manejada por php + mysql

el codigo me quedo asi:

Código PHP:
$update=mysql_query("UPDATE descripcion_fotos, fotos SET nombre='$nombre', descripcion='$descripcion', imagen($foto_name, $foto_size, $foto_type) WHERE num_ident=$codigo"$conectar);

    if (
mysql_query($update,$conectar) or die('Error en consulta: ' mysql_error())){
        
    echo (
"<p>El producto se agregó correctamente</p>");
        }else{
        echo (
"Ha habido un error al guardar la foto");
    }
}else{
    echo 
"<h2>No ha podido transferirse el fichero</h2>";
 }
    
  
?> 
ahora la respuesta es esta:

Error en consulta: Query was empty

Etiquetas: galeria, mysql
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 22:27.