PHP - Hacer click en una imagen y traer regsitros desde mysql

   
Vista:

Hacer click en una imagen y traer regsitros desde mysql

Publicado por Damian (8 intervenciones) el 04/12/2013 03:39:21
Hola Amigos una duda a lo mejor simple para ustedes pero quiero realizar los siguiente:

Tento varias imagenes de computadores en html y al hacer click en uno de esa imagens quiero que me traiga la informacion que tengo guardada en mysql en una tabla informacion_De_Computadores y la muestre ordenada en una tabla:

ejemplo: -click en la [[[[imagen_del_computador.jpeg]]]]

resultado.: muesstra los datos de la BD en una Tabla [ marca llll modelo lllll color ]
hp pavilium rojo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Hacer click en una imagen y traer regsitros desde mysql

Publicado por xve (5515 intervenciones) el 04/12/2013 07:14:04
Hola Damian, eso lo puedes hacer de varias maneras...

1.- la forma mas sencilla, es refrescando la pagina, es decir, al pulsar, haces una llamada a tu archivo php pasando un parámetro para que realice la búsqueda en la base de datos y los muestre.

2.- utilizando ajax para que lo haga sin refrescar la página.

De que manera quieres hacerlo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Hacer click en una imagen y traer regsitros desde mysql

Publicado por Damian (8 intervenciones) el 04/12/2013 07:45:00
Hola estimado gracias por responder de la primera forma me es mas familiar aunque no del todo porque soy un aprendiz

las imagenes no se si dejarlas en el html de forma estática o almacenarlas en la BD o en una Carpeta y llamarlas no sé si eso se puede hacer.

Luego de eso quiero que la imagen al hacerle click de alguna manera reconozca mi clave primary en la tabla informacion_De_Computadores y traigas los campos respectivos con la información (Marca ;modelo ,color ,ram, disco duro )

esto para no hacer una consulta para cada imagen sino que cada imagen identifique que se quiere traer un registro determinado de un computador

ejemplo: imagen_Hp_dv5 (hacer click) reconozca el campo con la clave primary consulte y me traiga justo la información del computador Hp_dv5 (marca: hp modelo: dv5 COlor:plomo ram:2g disco duro:1 tera)

y así para cada imagen no sé si me explique bien gracias por la comprensión y la voluntad de ayudar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Hacer click en una imagen y traer regsitros desde mysql

Publicado por xve (5515 intervenciones) el 04/12/2013 20:16:46
Sobre el tema de las imágenes, yo te recomiendo que las guardes en una carpeta... siempre es mejor leer de un archivo que de la base de datos.

Sobre lo que me comentas de que reconozca la clave primaria, no se muy bien a que te refieres, pero puede estar en una variable de sesión?

No se si te entiendo, pero puedes poner el id en el link de la imagen?

Si nos puedes comentar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Hacer click en una imagen y traer regsitros desde mysql

Publicado por Damian (8 intervenciones) el 05/12/2013 20:06:16
Gracias xve por
lasrecomendaciones
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Hacer click en una imagen y traer regsitros desde mysql

Publicado por Elier (92 intervenciones) el 05/12/2013 15:10:27
Lo ideal es que tengas una tabla donde tengas las imagenes de los computadores y otra tabla de los detalles

ejemplo

computadores (id, descripcion, no_serie, imagen)

1, asus, 342324, asus_1.jpg
2, asus, 453451, asus_2.jpg

en la columna imagen guardas el nombre del archivo

detalles (id, descripcion, id_computador)

1, procesador core i5, 1
2, ram ddr3, 1
3, procesador core i3, 2

tendrias dos archivos php: computadores.php y detalles.php

en computadores.php usas el ID del computador para generar el LINK

<a href="detalles.php?id=<?php echo $computador['id']?>"><img src="/imagenes/<?php echo $computador['imagen']?>"></a>

en detalles.php el ID del computador que se paso en la URL y obtienes los datos del detalle

$id_computador = $_GET['id']

$query = "SELECT * FROM detalles WHERE id_computador=$id_computador";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Hacer click en una imagen y traer regsitros desde mysql

Publicado por Damian (8 intervenciones) el 05/12/2013 20:07:52
Elier vamos a ver que me resulta .Gracias por ayudar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Hacer click en una imagen y traer regsitros desde mysql

Publicado por Damian (8 intervenciones) el 05/12/2013 21:35:56
Elier mira lo hice esto en computador.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Documento sin título</title>
</head>
 
<body>
 
<a href="detalles.php?id=<?php echo $computador['id']?>"><img src="imagenes/example/asus_1<?php echo $computador['imagen']?>"></a>
 
 
</body>
</html>


si te fijas en

<img src="imagenes/example/asus_1 esta bien lo que hago?? porq así me muestra la imagen por que si lo dejo como tu me dices

<img src="/imagenes/ si lo dejo así me muestra un cuadrito chico como de una imagen rota pero aún así igual si le

hago click me lleva a detalles.php peeeroooo. ahora pasa que...

detalles.php no me muestra nada solo una página en blanco este es el código de detalles.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Documento sin título</title>
</head>
 
<body>
<?php
include("conexion.php");
$id_computador = $_GET['id'];
 
$query = "SELECT * FROM detalles WHERE id_computador=$id_computador";
 
?>
 
 
 
</body>
</html>


que será ??????
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Hacer click en una imagen y traer regsitros desde mysql

Publicado por xve (5515 intervenciones) el 06/12/2013 14:33:41
Hola Damian, si haces un echo $query la consulta es correcta? es decir, tienes el valor del id_computador?

Faltaría ver el resto de código de detalles.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Hacer click en una imagen y traer regsitros desde mysql

Publicado por Elier (92 intervenciones) el 09/12/2013 17:15:17
Damian

Si la página donde pones el enlace a los detalles continuará siendo estática entonces el enlace debe quedar de la siguiente manera.

<a href="detalles.php?id=1"><img src="/imagenes/computadores/asus_1.jpg"></a>

para el siguiente id = 2

<a href="detalles.php?id=2"><img src="/imagenes/computadores/hpcompact_2.jpg"></a>

Tienes que crear una carpeta dentro de la raiz de tu servidor web que se llame imagenes y dentro de esa carpeta otra que se llame computadores, a cada imagen le pones un numero que corresponde con el id para que te guies, asi en la tabla que tienes en MySQL con el detalle de los computadores en id_computador pones el id a la que pertenece esa parte.

Te adjunto un archivo computadores.rar, descomprime todo en la raiz de tu servidor web, corre el script compudata.sql en en phpmyadmin, y luego abre en tu navegador http://localhost/computadores.php
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Hacer click en una imagen y traer regsitros desde mysql

Publicado por Damian (8 intervenciones) el 09/12/2013 18:29:08
Gracias Elier veré que me resulta!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Hacer click en una imagen y traer regsitros desde mysql

Publicado por Damian (8 intervenciones) el 09/12/2013 20:31:07
una pequeña cosita porque el navegador al colocar la carpeta donde estan mis imagenes SOLO la carpeta el navegador me muestra las imágenes como un símbolo de imagen roto (como que no es el formato no se que onda)
pero si coloco <img src="imagenes/computadores/asus_1 ahí no tengo problema) pero yo quiero que muestre solo el directorio donde están las imágenes para ver obvio todas las imágenes

<a href="detalles.php?id=<?php echo $computador['id']?>"><img src="imagenes/computadores/"<?php echo $computador['imagen']?>"></a>

gracias por ayudar!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Hacer click en una imagen y traer regsitros desde mysql

Publicado por xve (5515 intervenciones) el 09/12/2013 21:18:22
Hola Damien, que contiene la variable: $computador['imagen']

Si te sale la cruz, es porque la imagen que estas solicitando no existe...

Si miras el código fuente de la página, que te aparece en el código?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Hacer click en una imagen y traer regsitros desde mysql

Publicado por Damian (8 intervenciones) el 10/12/2013 06:53:14
ehh ejemplo en la carpeta computadores tengo 2 imagenes.jpg ejemplo (asus_1 jpg y asus 2.jpg) y cuando coloco esto:

<a href="detalles.php?id=<?php echo $computador['id']?>"><img src="computadores/"<?php echo $computador['imagen']?>"></a>

ejecuto y el navegador me muestra dos iconos de imagen con una linea diagonal en la esquina inferior derecha como que el navegador reconoce que hay 2 elementos de imagen pero en fin no muestra la imagen real tal como esta guardada en el directorio.

aún así con esos iconos de imagen que me aparecen si le hago click a uno me lleva al detalle y el otro igual.
Es muy raro

no sé si me explique algo enredado pero en fin. gracias por ayudar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Hacer click en una imagen y traer regsitros desde mysql

Publicado por xve (5515 intervenciones) el 10/12/2013 08:15:39
Hola Damian, haz ver código fuente en el navegador, y revisa que la url sea la correcta...

Puede ser que ese archivo lo estes ejecutando desde dentro de una carpeta? y no en la raiz?

Puedes utilizar las herramientas de desarrollo de chrome para visualizar que esta pasando... ahí te dirá si tienes algún error.

Podemos visualizar tu página desde Internet?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Hacer click en una imagen y traer regsitros desde mysql

Publicado por Elier (92 intervenciones) el 10/12/2013 17:19:39
El elemento img en HTML en la propiedad src tiene que tener el camino correcto de la imagen, y la carpeta que la contiene tiene que estar publica en la raiz de tu servidor web (apache, iis o el que tengas instalado).

Cuando a la imagen (elemento img de HTML) no se le pone correctamente el camino a la imagen en la propiedad src el navegador no puede recuperar la imagen y entonces no tiene otra alternativa que mostrar un icono con una cruz roja en caso del internet explorer y los otros iconos segun el navegador como te adjunto.



La idea es que tu vas a copiar una imagen para la carpeta donde estan las imagenes, luego en la tabla en MYSQL añadiras la descripcion de esa imagen y el nombre del archivo porque el camino lo prefijas en el enlace. Si el nombre del archivo lo escribes mal en la columna imagen de la tabla que tienes en MYSQL entonces no se mostrará la imagen, RECUERDA: no es lo mismo "asus1.jpg" que "asus 1.jpg". El código que te adjunte en un mensaje anterior a este me funcionó perfectamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar