Foros del Web » Programando para Internet » PHP »

Hacer un leer mas.

Estas en el tema de Hacer un leer mas. en el foro de PHP en Foros del Web. Hola a todos de Nuevo tengo esta duda, hago una consulta como la que muestro a continuacion: Código PHP: <html> <head> <title>Reporte de Productos</title> </head> <body> <?php ...
  #1 (permalink)  
Antiguo 17/10/2007, 20:48
Avatar de davincci  
Fecha de Ingreso: enero-2005
Mensajes: 193
Antigüedad: 19 años, 3 meses
Puntos: 0
Hacer un leer mas.

Hola a todos de Nuevo tengo esta duda, hago una consulta como la que muestro a continuacion:
Código PHP:
<html>
<head>
<title>Reporte de Productos</title>
</head>
<body>
<?php
include ("conexion.php"); 
$resultado mysql_query('SELECT * FROM productos');

$i=0;  
while(
$pdesign mysql_fetch_array($resultado)) {    
    if (
$i==0) {  
?>  
<tr>  
<?php  
    
}  
?>  
    <td width="172" bordercolor="#90B36F"><div align="center"><?php echo $pdesign["nombre"]; ?><br><img src="img/<?php echo $pdesign['imagen']; ?>"></div></td>  
<?php  
    $i
++;  
    if (
$i==3) {  
?>  
</tr>  
<?php  
       $i
=0;  
    }  
   
}    
mysql_free_result($resultado);    
mysql_close($conexion); 
?> 
</body>
</html>
Ahora necesito saber como hago para generar un enlace para ver mas informacion de cada producto y que me cargue en la misma pagina, pues es una web modular, es decir al estilo de las paginas de noticias donde muestra la foto, el titulo y un enlace para ampliar la informacion, espero hacerme entender.

La tabla donde están los datos es esta:

***********************************

id int(11) No auto_increment
idcategoria int(11) No
nombre varchar(255) utf8_general_ci No
descripcion text utf8_general_ci Sí NULL
valor decimal(10,0) No
imagen varchar(50) utf8_general_ci No
mas varchar(20) utf8_general_ci No
flechas varchar(20) utf8_general_ci No
fecha
***********************************

Espero que me puedan colaborar pues llevo dos dias enteros y nada que me da.


Saludos
  #2 (permalink)  
Antiguo 17/10/2007, 22:05
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Hacer un leer mas.

Hola davincci!!!

Trataré de ser lo mas explícito posible:

Si necesitas cargar en la misma web el listado de los productos y el detalle del producto seleccionado; lo que debes hacer es otorgarle una accion a cada link mediante una variable pasada por URL.

Osea si tienes esto:
Código PHP:
while($pdesign = mysql_fetch_array($resultado)) {    
    if ($i==0) {  
?>  
<tr>  
<?php  
    
}  
?>  
    <td width="172" bordercolor="#90B36F"><div align="center"><?php echo $pdesign["nombre"]; ?><br><img src="img/<?php echo $pdesign['imagen']; ?>"></div></td>  
<?php  
    $i
++;  
    if (
$i==3) {  
?>  
</tr>  
<?php  
       $i
=0;  
    }  
   
}
Que supongo que es lo primero que debe cargar, el listado de productos, al tag <img> que está dentro de tu while debes aplicarle un <a href> osea un vinculo, donde le pasarás por URL la accion que tomará, quedaría de esta manera;

Código PHP:
<td width="172" bordercolor="#90B36F"><div align="center"><?php echo $pdesign["nombre"]; ?><br><a href="la_misma_pagina.php?action=2&id_producto=<?=$pdesign["id_producto"]?>"><img src="img/<?php echo $pdesign['imagen']; ?>"></a></div></td>
De esa manera ya sabes que cuando te piquen en la imagen pasas como parametro la accion que es "2" y el id del producto. Sabiendo esto, ya lo que vienen son condicionales:

Código PHP:
if($_GET['action']==2)
{
//hacer la consulta en la DB en tu tabla productos con el id del producto que pasaste por URL para obtener el detalle y poder mostrarlo
}
else
{
//sino la variable action no vale 2... entonces por defecto muestras el listado de productos

Espero me hayas entendido...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 19/10/2007, 13:27
Avatar de davincci  
Fecha de Ingreso: enero-2005
Mensajes: 193
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: Hacer un leer mas.

Hola Carxl, lo que trato de hacer es como lo hace el os-comerce en el home, donde muestra un producto de cada categoria con su respectiva foto, valor y nombre, y al darle clic sobre la foto o el nombre muestra la informacion total del producto.



Gracias por tu colaboración.
  #4 (permalink)  
Antiguo 21/10/2007, 19:58
Avatar de davincci  
Fecha de Ingreso: enero-2005
Mensajes: 193
Antigüedad: 19 años, 3 meses
Puntos: 0
Pregunta Alguna idea

Alguien tiene alguna idea?
  #5 (permalink)  
Antiguo 22/10/2007, 02:16
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Hacer un leer mas.

Lo que puedes hacer es un iframe que contenga una tabla con los campos que vas a mostrar.

Cuando haces el click puedes ir al iframe=cargaDatos.php?id=xxx y cargar sus datos ahi mismo.

Si no la otra opcion es hacerlo via ajax y cargar los datos al darle click al link.... busca informacion de como hacer una funcion escucha (listener) al momento de dar click y de como extraer datos de una pagina a la cual le enviaras un id.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #6 (permalink)  
Antiguo 22/10/2007, 02:51
Avatar de davincci  
Fecha de Ingreso: enero-2005
Mensajes: 193
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: Hacer un leer mas.

Gracias Marvin, pero no me da, quisiera asi como el estilo de oscomerce que muestra en su parte derecha el producto destacado o manuevo, solo una imagen y titulo y al darle clic amplia mas informacion sobre este.


Gracias y cualquier ayuda mucho mejor.
  #7 (permalink)  
Antiguo 22/10/2007, 02:57
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Hacer un leer mas.

Lamentablemente desconozco el estilo oscomerce del que me hablas, pero hay maneras de hacer lo que quieres con div ocultos, o sea... cargas la informacion igual en una tabla pero la tabla queda rodeada por un div con style="visibility:hidden" y este div debe tener un name="Nombrelibro" asi en el link de leer mas puedes llamar a una funcion javascript del tipo javascript:Mostrar('NombreLibro'); y asi muestras el div que tiene oculto ese libro.

No se si te sirva de esa manera, pero si no comentame como es el estilo de oscomerce para ver si puedo darte una mano con eso.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #8 (permalink)  
Antiguo 23/10/2007, 07:42
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Hacer un leer mas.

Cita:
Iniciado por davincci Ver Mensaje
Hola Carxl, lo que trato de hacer es como lo hace el os-comerce en el home, donde muestra un producto de cada categoria con su respectiva foto, valor y nombre, y al darle clic sobre la foto o el nombre muestra la informacion total del producto.
Hola de nuevo davincci!! Còmo vas??

Pues a pesar de que no conozco el home del os-commerce, la lògica es la misma...

Lo que debes hacer es lo que te dije arriba Convertir la foto en un link(arriba tienes esa aprte), y a dicho link debes pasarle el id del producto que esté en tu DB(arriba tambièn está), para que cuando piquen sobre él sepas que id de producto es y puedas mostrarlo por completo en otra pàgina o en dado caso en la misma, ya es cuestiòn tuya decidir esto... pero siempre, siempre debes mandar el id por el link!!!

Si no es esto lo que necesitas, por fa explìcate mejor y vemos como ayudarte vale??

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #9 (permalink)  
Antiguo 23/10/2007, 13:52
Avatar de davincci  
Fecha de Ingreso: enero-2005
Mensajes: 193
Antigüedad: 19 años, 3 meses
Puntos: 0
Gracias

Gracias a todos en especial a Crals y marvin, esta hecho.


Ahora eso con un producto, mi pregunta es de la tabla productos tengo el id, nombre, categoria,imagen y un id que se le asigna a cada producto por su tipo, es decir si son huevos pertenece a aves, si es leche a vacas, etc. ¿Como hago para que en la pagina me muestre un producto de cada categoria?, que debo hacer?, sera la solucion hacer un doble almacenamiento de registros?.


Gracias nuevamente.
  #10 (permalink)  
Antiguo 23/10/2007, 22:36
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Hacer un leer mas.

Hola de nuevo davincci!!

Lo el doble almacenamiento... Lo que debes hacer es una consulta por categoria, es decir si deseas mostrar un producto de la categoria aves, harías algo así:

Código:
select * from productos where categoria="12" order by id_producto limit 1
Con ese query ya obtendrías el último producto ingresado para esa categoria. Asumí que la categoria con id 12 es la de aves, simple suposición

Lo que viene de aquí para allá es un mysql_fetch.....

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #11 (permalink)  
Antiguo 23/10/2007, 23:10
Avatar de davincci  
Fecha de Ingreso: enero-2005
Mensajes: 193
Antigüedad: 19 años, 3 meses
Puntos: 0
Exclamación Re: Hacer un leer mas.

Gracias Carxl, lo hice y me da el ultimo ingresado, pero como hago para hacer ese proceso en 4 o 5 veces en la misma pagina?, es decir:

Muestro el ultimo producto de la categoria aves

select * from productos where categoria="12" order by id_producto limit 1

Muestro el ultimo producto de la categoria vacas

select * from productos where categoria="13" order by id_producto limit 1


Muestro el ultimo producto de la categoria perro

select * from productos where categoria="14" order by id_producto limit 1


Gracias por tu ayuda.
  #12 (permalink)  
Antiguo 24/10/2007, 08:15
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
De acuerdo Re: Hacer un leer mas.

Hola de nuevo davincci!! Cómo vas??

Ahì te "agarras" de un ciclo repetitivo.. un while para ser exacto... Pero cambiando tambièn la consulta, por que debes traer de la tabla categorias todos sus id, osea debes traer id_categorias de la tabla categorias:

Código PHP:
$consulta="select * from tu_tabla_categoria";
$resul=mysql_query($consulta);
while(
$row=mysql_fetch_array($resul))
{
$consulta="select * from productos where categoria=".$row['id_categoria']." order by id_producto limit 1";
$res=mysql_query($consulta);
$raw=mysql_fetch_array($res);
echo 
"El producto: ".$raw['nombre_producto']." pertenece a ".$row['nombre_de_la_categoria'];

No revisé sintaxis, pero esa es la lògica vale??

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #13 (permalink)  
Antiguo 24/10/2007, 10:24
Avatar de davincci  
Fecha de Ingreso: enero-2005
Mensajes: 193
Antigüedad: 19 años, 3 meses
Puntos: 0
De acuerdo Gracias Carlx

Gracias y mil mas, la probare a ver como me queda.
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 15:59.