Foros del Web » Programando para Internet » PHP »

No aparece la imagen en una tabla

Estas en el tema de No aparece la imagen en una tabla en el foro de PHP en Foros del Web. Hola a todos. Tengo el siguiente problema, al obtener los datos desde la base de datos, no me muestra la imagen subida a una carpeta, ...
  #1 (permalink)  
Antiguo 09/04/2009, 16:19
 
Fecha de Ingreso: marzo-2009
Mensajes: 20
Antigüedad: 15 años, 7 meses
Puntos: 0
No aparece la imagen en una tabla

Hola a todos.
Tengo el siguiente problema, al obtener los datos desde la base de datos, no me muestra la imagen subida a una carpeta, mediante un formulario.
La ruta de la imagen queda en la base de datos y la imagen en la carpeta "uploads".
Código PHP:
<body>
<h1> IMAGENES DE LOS SOCIOS DEL CLUB </h1>


                
<table border="1" cellspacing="0" cellpadding="5">
<tr align="center">
<td>TITULO</td>
<td>AUTOR</td>
<td>IMAGENES</td>
</tr>

<?php
$connection 
mysql_connect("xxx","yyy","zzz")
   or die(
"No se pudo conectar al servidor");

$db mysql_select_db("database",$connection)
  or die(
"No se puede seleccionar la base de datos");

$query "SELECT * FROM imagenes";
$result mysql_query($query)
  or die(
"La consulta fallo: " .mysql_error());

while (
$row mysql_fetch_array($result))
{
?>

<tr>
<td><?php echo $row['titulo']; ?></td>
<td><?php echo $row['autor']; ?></td>
<td><img src="upload/<?php echo $row['fotografia'] ; ?>" >
</td>
</tr> 

<?php
}
mysql_close($connection);
?>
</table>

</body>
Que debo modificar para que se me muestre la imagen en mi tabla??

Les pido su ayuda...
  #2 (permalink)  
Antiguo 09/04/2009, 16:25
 
Fecha de Ingreso: marzo-2009
Mensajes: 20
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: No aparece la imagen en una tabla

Si la ruta de la imagen queda en la base de datos no deberías incluirla en el html
  #3 (permalink)  
Antiguo 09/04/2009, 17:23
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 16 años, 5 meses
Puntos: 53
Respuesta: No aparece la imagen en una tabla

¿$row['fotografia'] es de la forma nombreImagen[.]formato?.

Siendo asi tambien organiza tu codigo...
Código PHP:
<?php 
$connection 
mysql_connect("xxx","yyy","zzz"
   or die(
"No se pudo conectar al servidor"); 

$db mysql_select_db("database",$connection
  or die(
"No se puede seleccionar la base de datos"); 

$query "SELECT * FROM imagenes"
$result mysql_query($query
  or die(
"La consulta fallo: " .mysql_error()); 

echo 
'<table border="1" cellspacing="0" cellpadding="5"> 
<tr> 
<td>TITULO</td> 
<td>AUTOR</td> 
<td>IMAGENES</td> 
</tr> 
'
;

while (
$row mysql_fetch_array($result)) 

echo 
'<tr> 
<td>'
.$row['titulo'].'</td> 
<td>'
.$row['autor'].'</td> 
<td><img src="../uploads/'
.$row['fotografia'].'" ></td> 
</tr>'
;  

echo 
'</table>';
mysql_close($connection); 
?>
  #4 (permalink)  
Antiguo 09/04/2009, 17:25
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 16 años, 5 meses
Puntos: 53
Respuesta: No aparece la imagen en una tabla

Imaginaré el sólo guarda el nombre de la imágen y su formato...
  #5 (permalink)  
Antiguo 09/04/2009, 19:10
 
Fecha de Ingreso: marzo-2009
Mensajes: 20
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: No aparece la imagen en una tabla

JairLizcano
La BD solo guarda la ruta, modifique el codigo como lo señalas pero sigue igual.
Te comento que la tabla creada se llama "imagenes" y su estructura es:nombre,titulo,fotografia y las tres son de tipo vachar.
Al generar la tabla en las imagenes me muestra una con un dibujo parecido a una hoja de papel rota por la mitad.
  #6 (permalink)  
Antiguo 09/04/2009, 19:18
 
Fecha de Ingreso: abril-2008
Ubicación: Montevideo - Uruguay
Mensajes: 156
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: No aparece la imagen en una tabla

Hi!

Lo que se necesita saber es como son los datos guardado en esa tabla, no la estructura de la tabla y los tipos de datos.

O sea, en la tabla se guarda como:
- imagen.jpg
- camino/hacia/imagen.jpg
- c:/camino/hacia/imagen.jpg ( Ojala no sea asi xD)

Necesitamos saber que se guarda en el campo "fotografia".

-ByE-
__________________
--
Mi Portfolio Online! Visitalo!
--
  #7 (permalink)  
Antiguo 09/04/2009, 19:24
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 18 años, 1 mes
Puntos: 74
Respuesta: No aparece la imagen en una tabla

Segun aprecio en el primer post:
Cita:
La ruta de la imagen queda en la base de datos y la imagen en la carpeta "uploads".
Guardas la ruta, a mi entender, la ruta completa.

Bueno, si guaras la ruta completa: www.nombretuweb.com/uploads/nombreimagen.gif

Bastaria con hacer asi:
Código 1:
Ver original
  1. <td><img src="<?php echo $row['fotografia'] ; ?>" >

Si lo que guardas es la imagen nada: nombreimagen.gif
Bastaria con hacer así:

Código 2:
Ver original
  1. <td><img src="upload/<?php echo $row['fotografia'] ; ?>" >

Creo que la estas guardando completa y por lo tanto tienes que hacer lo primero que te dije.

Saludos,
  #8 (permalink)  
Antiguo 09/04/2009, 20:26
 
Fecha de Ingreso: marzo-2009
Mensajes: 20
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: No aparece la imagen en una tabla

Bueno.
Les mando el codigo de ingreso de formulario.

<form enctype="multipart/form-data" action="subearchivo.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
TITULO: <input type="text" name="nov_titulo"><br><br>
AUTOR&nbsp;: <input type="text" name="nov_autor"><br><br>
SUBIR PRIMERA IMAGEN&nbsp: <input name="userfile" type="file"><br><br>
<input type="submit" value="Enviar">
</form>

el archivo de subida es:

if (isset($_POST['nov_titulo'])){$nov_titulo = $_POST['nov_titulo'];}
if (isset($_POST['nov_autor'])){$nov_autor = $_POST['nov_autor'];}
$unique = time();
$uploaddir = $_SERVER['DOCUMENT_ROOT'].'/uploads/'.$unique;
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
$uploadcheck = $uploadfile;
if(empty($_FILES['userfile']['name'])){
$uploadfile = "";}
$update = mysql_db_query("$dbname","INSERT INTO imagenes VALUES ('$nov_titulo', '$nov_autor', '$uploadfile')") or die(mysql_error());


espero que les quede mas claro y me puedan ayudar...
  #9 (permalink)  
Antiguo 09/04/2009, 20:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: No aparece la imagen en una tabla

Inserta en tu base de datos sólo $_FILES['userfile']['name'], así, en el src basta con poner /uploads/$row[ruta]
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 10/04/2009, 19:43
 
Fecha de Ingreso: marzo-2009
Mensajes: 20
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: No aparece la imagen en una tabla

Gracias David el Grande, ahora va bien, pero eso significa que la imagen la sube al directorio principal y no a una subcarpeta, pero igual ya se me genera la imagen en la tabla, muchas gracias.
Ahora bien, si a esas imagenes pudiera aplicarle "lightbox", alguien sabe como hacerlo?
Lo he intentado varias formas pero no puedo, aqui les mando el codigo:

Código PHP:
<tr>
<td><?php echo $row['titulo']; ?></td>
<td><?php echo $row['autor']; ?></td>
<td><img src="<?php echo $row['fotografia'];?>">
<a href="<img src="<?php echo $row['fotografia'];?>" rel="lightbox"></a>
</td>
</tr>
Les confieso que soy novato y tengo muchas ganas de aprender estos lenguajes
  #11 (permalink)  
Antiguo 10/04/2009, 20:56
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: No aparece la imagen en una tabla

Tu HTML está mal formado.

Debería ser algo como esto:
Código html:
Ver original
  1. <a href="ruta/imagen.jpg" rel="lightbox"><img src="ruta/imagen.jpg" /></a>
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 21:30.