Foros del Web » Programando para Internet » PHP »

Problam al pasar id para mostrar imagen

Estas en el tema de Problam al pasar id para mostrar imagen en el foro de PHP en Foros del Web. Buenas tardes, Verán les pongo en situación; Tengo un sistema de upload, el cual al subir una imagen ésta la guardo en una carpeta y ...
  #1 (permalink)  
Antiguo 18/12/2008, 09:54
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Problam al pasar id para mostrar imagen

Buenas tardes,

Verán les pongo en situación;
Tengo un sistema de upload, el cual al subir una imagen ésta la guardo en una carpeta y luego en la base dedatos guardo la ruta de la imagen. Osea, la direccion donde se encuentra la imagen subida.

Esta es la tabla MySQL: id,nombre,nombre_real,dire_img,usuario,ip etc.

Donde dire_img es el campo donde se guarda la ruta donde ésta la imagen.

Yo personalmente tengo un archivo llamado admin.php en el que muestro todas las imagenes subidas.
Para que se hagan una idea de como lo estoy armando, miren la siguiente imagen:



Como ven, muestro su id, su nombre, la fecha etc.
En el icono ver, pretendo que se muestre la imagen seleccionada.
Para ello, he creado un archivo llamado mostrar.php y paso su id ...
este es el código:
Código php:
Ver original
  1. <?php
  2. if ($_GET['id'])
  3. {
  4.  
  5.  
  6.     $hostname = "localhost";
  7.     $database = "oscar";
  8.     $username = "root";
  9.     $password = "pass";
  10.     $conexion = mysql_connect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
  11.       mysql_select_db($database, $conexion);
  12.     $sql = "SELECT * FROM imagenes";
  13.     $mostrar_sql = @mysql_query($sql, $conexion) or die(mysql_error());
  14.     $row_sql = mysql_fetch_assoc($mostrar_sql);
  15. ?>
  16. <img src="<?php $row_sql['id']?>"></img>
  17. <?php
  18. }
  19. else {
  20.  
  21.     echo ("Error al mostra la imagen o puede que no exista);
  22. }
  23. ?>

No se que pasa, pero no me muestra la imagen seleccionada. Siempre me muestra el mensaje de error...
Supongo que el problema puede ser debido al pasar la identidad de la imagne por $_GET, pero no se como solucionarlo.
Espero puedan echarme un cable,

Muchas gracias por la ayuda,
  #2 (permalink)  
Antiguo 18/12/2008, 11:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problam al pasar id para mostrar imagen

Pues puede ser porque te falta el echo al imprimir la ruta...

Código php:
Ver original
  1. <img src="<?php $row_sql['id']?>"></img>

Saludos.
  #3 (permalink)  
Antiguo 18/12/2008, 11:59
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: Problam al pasar id para mostrar imagen

Buenas de nuevo,

Que va, no lo consigo solucionar.
A ver, ahora lo he modificado un poco, pero no ha servido de mucho.
Ahora lo unico que me hace es mostrarme siempre, la primera imagen, osea, el primer registro que hay.

Asi lo tengo:

Código php:
Ver original
  1. <?php
  2. $_GET['id']; {
  3.    
  4.  include ("config.php");
  5.  
  6.     $sql = "SELECT * FROM imagenes";
  7.     $mostrar_sql = @mysql_query($sql, $conexion) or die(mysql_error());
  8.     $row_sql = mysql_fetch_assoc($mostrar_sql);
  9. ?>
  10. <html>
  11. <head>
  12. </head>
  13. <body>
  14. <style type='text/css'>
  15.  
  16. .ver_img {
  17. border: 1px solid #CCC;
  18. background-color: #F7FBFF;
  19. font-family: Verdana;
  20. font-size: 11px;
  21. color: #666;
  22. }
  23.  
  24. </style>
  25.  
  26. <br>
  27. <br>
  28.  
  29. <td align='center'>
  30.         <table  width='100%' cellpadding='2' cellspacing='0' border='0'  align='center' class='ver_img'>
  31.         <tr>
  32. <td>
  33. <img src="<?php echo $_GET['id'] ?><?php echo $row_sql['dire_img'] ?>"</img>
  34. </td>
  35. </tr>
  36. </table>
  37. </body>
  38. </html>
  39. <?php
  40. }
  41. ?>
Como ya digo, ahora siempre me muestra la primera imagen que hay, osea la imagen que tiene la identidad 1.
Por cierto, he accedido directamente al archivo mostrar.php, y se me muestra tambien la primera imagen, la que tiene identidad 1, asi que deduzco que es por eso, porque no paso paso bien la identidad.

Para mas información, esta es la consulta que realizo en el archivo admin.php
Código php:
Ver original
  1. echo "
  2.     </table><table width='90%' align='center' border='0'>
  3.  <tr class='title'>
  4.             <td align='center'><font color='#FFFFFF'>Id</font></td>
  5.             <td align='center'><font color='#FFFFFF'>Nombre Img</font></td>
  6.             <td align='center'><font color='#FFFFFF'>Nombre Real</font></td>
  7.             <td align='center'><font color='#FFFFFF'>Usuario</font></td>
  8.             <td align='center'><font color='#FFFFFF'>Ip</font></td>
  9.             <td align='center'><font color='#FFFFFF'>Fecha de Subida</font></td>
  10.             <td align='center'><font color='#FFFFFF'>Ver</font></td>
  11.             <td align='center'><font color='#FFFFFF'>Ver</font></td>
  12.             <td align='center'><font color='#FFFFFF'>Borrar</font></td>
  13.  
  14.         ";
  15.        
  16. $query = "select * FROM imagenes ORDER BY id"; $resp = mysql_query($query);
  17.         while ($mostrar = mysql_fetch_array($resp)) {
  18.        
  19.  
  20.  
  21.  
  22.            
  23.             echo'<tr><td>'.$mostrar['id'].'</td>';
  24.                 echo' <td>'.$mostrar['nombre'].'</td>';
  25.             echo' <td>'.$mostrar['nombre_real'].'</td>';
  26.             echo' <td>'.$mostrar['usuario'].'</td>';
  27.             echo' <td>'.$mostrar['ip'].'</td>';
  28.             echo' <td>'.$mostrar['fecha_sub'].'</td>';
  29.             //Estos ennlaces son para ver y/o borrar la imagen
  30.             echo '<td><a class="imagen" href="mostrar.php?id&='.$mostrar['id'].'"><img src="img/panel/iconos/ver_img.png" title="Ver Imagen" /></a></td>';
  31.             echo '<td><a class="imagen" href="mostrar.php?id&='.$mostrar['id'].'"><img src="img/panel/iconos/ver_img.png" title="Ver Imagen" /></a></td>';
  32.             echo '<td><a class="imagen" href="#"><img src="img/admin/eliminar.gif"></a></td></tr>';
  33.         }
  34.     echo "</table>";
Éste es el archivo admin.php que como veis abajo del todo, hago un enlace a mostrar.php, el cual el archivo mostrar.php pues me deberia de mostrar la imagen correspondiente a la id seleccionada.

Como he dicho más arriba, ahora siempre me esta mostrando la imagen del primer registro, osea la que corresponde a la id 1.

Mcahs gracias,
  #4 (permalink)  
Antiguo 18/12/2008, 12:19
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: Problam al pasar id para mostrar imagen

En la consulta para mostrar la imagen te falta la parte del WHERE id = $_GET['id']

La segunda linea esta mal:
Código PHP:
#
$_GET['id']; {

// Lo mas correcto seria:
$id = (isset($_GET['id'])) ? intval($_GET['id']) : 0;
if(
$id != 0) {
    
// Aqui haces tu consulta para seleccionar la imagen
}


// Tu link para mostrar imagenes es incorrecto, le sobra &:
// mostrar.php?id&='.
// mostrar.php?id='. 
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 18/12/2008, 12:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problam al pasar id para mostrar imagen

Tambien el echo esta mal al imprimir la imagen estas haciendo: mostrar.php?id&='.$mostrar['id'].', ese & esta demas, recuerda que el formato correcto en una URL es nombre_variable=valor_variable&nombre_variable2=va lor_variable2.

Saludos.
  #6 (permalink)  
Antiguo 18/12/2008, 12:25
 
Fecha de Ingreso: abril-2008
Ubicación: Montevideo - Uruguay
Mensajes: 156
Antigüedad: 16 años
Puntos: 5
Respuesta: Problam al pasar id para mostrar imagen

Hi

Deberias recorrer tambien el array, no ?

Código php:
Ver original
  1. <?php
  2. if ($_GET['id'])
  3. {
  4.     $hostname = "localhost";
  5.     $database = "oscar";
  6.     $username = "root";
  7.     $password = "pass";
  8.     $conexion = mysql_connect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
  9.       mysql_select_db($database, $conexion);
  10.     $sql = "SELECT * FROM imagenes";
  11.     $mostrar_sql = @mysql_query($sql, $conexion) or die(mysql_error());
  12.     while ($row_sql = mysql_fetch_assoc($mostrar_sql)) {
  13. ?>
  14. <img src="<?php echo $row_sql['id']?>"></img>
  15. <?php
  16.     }
  17. }
  18. else {
  19.  
  20.     echo ("Error al mostra la imagen o puede que no exista);
  21. }
  22. ?>

Prueba a ver que tal :)

-ByE-
__________________
--
Mi Portfolio Online! Visitalo!
--
  #7 (permalink)  
Antiguo 22/12/2008, 14:13
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: Problam al pasar id para mostrar imagen

Siento la tardanza.
Gracias a todos por responder. Lo conseguí solucionar con vuestras ayudas.

Muchas gracias, :)
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 02:27.