Foros del Web » Programando para Internet » PHP »

No pretendo que lo hagan por mi... Alguien me puede explicar como se hace? Gracias!

Estas en el tema de No pretendo que lo hagan por mi... Alguien me puede explicar como se hace? Gracias! en el foro de PHP en Foros del Web. Hola! Estoy programando una web en PHP con base de datos en MySql Tengo un catalogo, arme la base de datos y mediante un bucle ...
  #1 (permalink)  
Antiguo 07/07/2011, 10:59
 
Fecha de Ingreso: febrero-2010
Mensajes: 45
Antigüedad: 14 años, 2 meses
Puntos: 0
No pretendo que lo hagan por mi... Alguien me puede explicar como se hace? Gracias!

Hola!
Estoy programando una web en PHP con base de datos en MySql
Tengo un catalogo, arme la base de datos y mediante un bucle while muestro el listado de productos.

Pego el codigo:
<?php
$consulta="select prd_id, tipo_id, prd_nombre, prd_espanta, prd_area_accion, prd_apto_para, prd_precio_efectivo, prd_precio_otro, prd_descripcion_larga, prd_foto1, prd_foto2, prd_foto3, prd_foto4 from productos";

$resultado=mysql_query($consulta);

//inicio del muestreo
while($fila=mysql_fetch_array($resultado)){?>

<?php echo($fila[prd_nombre]);?>

<img src="img/productos/<?php echo($fila[prd_foto1]);?>" width="200" height="200" />

<?php echo($fila[prd_espanta]);?>

<?php echo($fila[prd_area_accion]);?>

<?php echo($fila[prd_apto_para]);?>

<?php echo($fila[prd_precio_otro]);?>
<?php echo($fila[prd_precio_efectivo]);?>

<img src="img/masinfo.png" width="88" height="25" border="0" align="right" usemap="#Map" />

<?php
}
//fin del muestreo
mysql_close() ;
?>
Hasta aca todo bien, lo que no se como se hace y agradeceria si alguien me puede orientar es como hacer para poner un boton de +info en cada producto y que me abra una ventana con la descripcion mas larga y un detalle de ese producto en cuestion.
Se que debe ser algo relativamente sencillo para quien tiene conocimientos del tema , pero a mi no se me ocurre como hacerlo... soy principiante.

Desde ya muchas gracias!
  #2 (permalink)  
Antiguo 07/07/2011, 11:13
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: No pretendo que lo hagan por mi... Alguien me puede explicar como se hace?

Coloca esto en tu codigo:

Código PHP:
Ver original
  1. echo '<a href="detallles.php?identificador='.$fila['prd_id'].'">Mas informacion</a><br/>';

En la pagina de detalles:

Código PHP:
Ver original
  1. $id = $_GET['identificador'];
  2. $consulta = "SELECT * FROM tu_tabla WHERE campo_id = $id";
  3. $ejecutar = mysql_query($consulta, $conexion) or die ('Error consultando: '.mysql_error());
  4. While ($resultados = mysql_fetch_array($ejecutar)){
  5. // aca todo lo que quieras imprimir
  6. }
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 07/07/2011, 11:15
 
Fecha de Ingreso: junio-2008
Mensajes: 175
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: No pretendo que lo hagan por mi... Alguien me puede explicar como se hace?

Pues una posibilidad seria quitar ese #map y envuelvelo con un tag de tipo href y a partir de ahi pues podrias abrir una nueva ventana obteniendo el id y realizando otra consulta a la bdd o simplemente capturando directamente la descripcion en el primer query y pasandoselo mediante una variable a la nueva ventana que abres.

Hay mas formas de hacerlo pero estas son las primeras que me vienen a la cabeza :)
  #4 (permalink)  
Antiguo 07/07/2011, 11:18
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: No pretendo que lo hagan por mi... Alguien me puede explicar como se hace?

Cita:
Iniciado por jotaincubus Ver Mensaje
Coloca esto en tu codigo:

Código PHP:
Ver original
  1. echo '<a href="detallles.php?identificador='.$fila['prd_id'].'"><img src="img/masinfo.png" width="88" height="25" border="0" align="right" /></a>';

En la pagina de detalles:

Código PHP:
Ver original
  1. $id = $_GET['identificador'];
  2. $consulta = "SELECT * FROM tu_tabla WHERE campo_id = $id";
  3. $ejecutar = mysql_query($consulta, $conexion) or die ('Error consultando: '.mysql_error());
  4. While ($resultados = mysql_fetch_array($ejecutar)){
  5. // aca todo lo que quieras imprimir
  6. }
Edito: no habia visto que tienes una imagen con el vinculo detalles.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 07/07/2011, 12:25
 
Fecha de Ingreso: febrero-2010
Mensajes: 45
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: No pretendo que lo hagan por mi... Alguien me puede explicar como se hace?

Antes que nada Gracias "jotaincubus" por ayudarme.

Me sale este error cuando lo pruebo, alguien sabe en que me estoy equivocando?

Warning: mysql_query() expects parameter 2 to be resource, null given in /Applications/XAMPP/xamppfiles/htdocs/produccion/detalles.php on line 4
Error consultando:


El Codigo del catalogo me quedo asi:

Código PHP:
<?php  
  $consulta
="select prd_id,    tipo_id, prd_nombre, prd_espanta, prd_area_accion, prd_apto_para, prd_precio_efectivo, prd_precio_otro, prd_descripcion_larga, prd_foto1, prd_foto2, prd_foto3, prd_foto4 from productos";
  
$resultado=mysql_query($consulta);
    
  
//inicio del muestreo 
        
  
while($fila=mysql_fetch_array($resultado)){?>
                        
<?php echo($fila[prd_nombre]);?>

<?php echo($fila[prd_foto1]);?>" width="200" height="200" />

<?php echo '<a href="detalles.php?identificador='.$fila['prd_id'].'"><img src="img/masinfo.png" width="88" height="25" border="0" align="right" /></a>';?>

  
<?php  
 
   
}
  
//fin del muestreo
  
mysql_close() ;          
  
?>

El codigo de detalles.php me quedo asi:

Código PHP:
<?php 
$id 
$_GET['identificador'];
$consulta "SELECT * FROM productos WHERE campo_id = $id";
$ejecutar mysql_query($consulta$conexion) or die ('Error consultando: '.mysql_error());

// inicio del muestreo
while ($resultados mysql_fetch_array($ejecutar)){

// aca todo lo que quieras imprimir

echo($fila[prd_espanta]);


 } 

?>
  #6 (permalink)  
Antiguo 07/07/2011, 12:31
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: No pretendo que lo hagan por mi... Alguien me puede explicar como se hace?

Te dice que no encuentra el segundo parámetro el cual es LA CONEXIÓN A TU BASE DE DATOS sin ese parámetro no puede realizar la consulta.

Ese es el error.

mysql_query($consulta, $conexion)


Otra cosa amigo, porque utilizas tantos tags PHP ? no tenes que estar abriendo <?php y cerrando ?> cada vez que vas a hacer un echo o algo... si todo lo que sigue es código PHP entonces solo utiliza un bloque de tags php

Lo ECHO no necesitan estar entre parentesis... Necesitan comillas cuando vas a imprimer cadanas de texto asi :

echo "Hola mundo";

Y cuando es variables solo utiliza echo asi:

echo $mivar;

Aca te muestro como lo haria yo:
Código PHP:
Ver original
  1. <?php  
  2.  $consulta="select prd_id,    tipo_id, prd_nombre, prd_espanta, prd_area_accion, prd_apto_para, prd_precio_efectivo, prd_precio_otro, prd_descripcion_larga, prd_foto1, prd_foto2, prd_foto3, prd_foto4 from productos";
  3.   $resultado=mysql_query($consulta);
  4.      
  5.   //inicio del muestreo  
  6. while($fila=mysql_fetch_array($resultado)){                      
  7. echo $fila[prd_nombre] ;
  8. echo $fila[prd_foto1].'width="200" height="200" />';
  9. echo '<a href="detalles.php?identificador='.$fila['prd_id'].'"><img src="img/masinfo.png" width="88" height="25" border="0" align="right" /></a>';
  10. }
  11.   //fin del muestreo
  12.   mysql_close() ;          
  13.   ?>
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???

Última edición por jotaincubus; 07/07/2011 a las 12:42 Razón: Mas informacion
  #7 (permalink)  
Antiguo 07/07/2011, 12:57
 
Fecha de Ingreso: febrero-2010
Mensajes: 45
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: No pretendo que lo hagan por mi... Alguien me puede explicar como se hace?

avanzando...
ahora agregando la conexión , me muestra un resultado cuando pongo mas info.
Pero solo veo el ID del producto en cuestion.
No se como hacer para traer otros campos de la tabla.

Copio el código:

Código PHP:
<?php include("conexion.php");?>

<?php 
$id 
$_GET['identificador'];
$consulta "SELECT prd_id,    tipo_id, prd_nombre, prd_espanta, prd_area_accion, prd_apto_para, prd_precio_efectivo, prd_precio_otro, prd_descripcion_larga, prd_foto1, prd_foto2, prd_foto3, prd_foto4 FROM productos WHERE prd_id = $id";
$ejecutar mysql_query($consulta) or die ('Error consultando: '.mysql_error());

// inicio del muestreo

while ($resultado mysql_fetch_array($ejecutar)){?>

<?php echo($id);?>

<?php  
   
}
  
//fin del muestreo
  
mysql_close() ;          
?>
  #8 (permalink)  
Antiguo 07/07/2011, 13:00
 
Fecha de Ingreso: febrero-2010
Mensajes: 45
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: No pretendo que lo hagan por mi... Alguien me puede explicar como se hace?

Cita:
Iniciado por jotaincubus Ver Mensaje
Te dice que no encuentra el segundo parámetro el cual es LA CONEXIÓN A TU BASE DE DATOS sin ese parámetro no puede realizar la consulta.

Ese es el error.

mysql_query($consulta, $conexion)


Otra cosa amigo, porque utilizas tantos tags PHP ? no tenes que estar abriendo <?php y cerrando ?> cada vez que vas a hacer un echo o algo... si todo lo que sigue es código PHP entonces solo utiliza un bloque de tags php

Lo ECHO no necesitan estar entre parentesis... Necesitan comillas cuando vas a imprimer cadanas de texto asi :

echo "Hola mundo";

Y cuando es variables solo utiliza echo asi:

echo $mivar;

Aca te muestro como lo haria yo:
Código PHP:
Ver original
  1. <?php  
  2.  $consulta="select prd_id,    tipo_id, prd_nombre, prd_espanta, prd_area_accion, prd_apto_para, prd_precio_efectivo, prd_precio_otro, prd_descripcion_larga, prd_foto1, prd_foto2, prd_foto3, prd_foto4 from productos";
  3.   $resultado=mysql_query($consulta);
  4.      
  5.   //inicio del muestreo  
  6. while($fila=mysql_fetch_array($resultado)){                      
  7. echo $fila[prd_nombre] ;
  8. echo $fila[prd_foto1].'width="200" height="200" />';
  9. echo '<a href="detalles.php?identificador='.$fila['prd_id'].'"><img src="img/masinfo.png" width="88" height="25" border="0" align="right" /></a>';
  10. }
  11.   //fin del muestreo
  12.   mysql_close() ;          
  13.   ?>
Lo que pasa es que lo tengo todo dentro de una tabla para ordenar los resultados, y borre las partes de HTML que tenia por el medio para dejar solo el php que es lo que interesaba. Pero si, tienes razon que no es necesario abrir, cerrar, abrir, cerrar. Gracias!
  #9 (permalink)  
Antiguo 07/07/2011, 13:03
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: No pretendo que lo hagan por mi... Alguien me puede explicar como se hace?

while ($resultado = mysql_fetch_array($ejecutar)){?>
<?php echo($id);?>
<?php


Y seguimos con los tags PHP

Imprime así:

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3.  
  4. $id = $_GET['identificador'];
  5. $consulta = "SELECT prd_id,    tipo_id, prd_nombre, prd_espanta, prd_area_accion, prd_apto_para, prd_precio_efectivo, prd_precio_otro, prd_descripcion_larga, prd_foto1, prd_foto2, prd_foto3, prd_foto4 FROM productos WHERE prd_id = $id";
  6. $ejecutar = mysql_query($consulta) or die ('Error consultando: '.mysql_error());
  7.  
  8. // inicio del muestreo
  9.  
  10. while ($resultado = mysql_fetch_array($ejecutar)){
  11. // php echo($id);
  12. echo $resultado['tipo_id'].'<br/>';
  13. echo $resultado['prd_nombre'].'<br/>';
  14. // así con todos los campos que quiera mostrar
  15. }
  16. //fin del muestreo
  17. mysql_close() ;          
  18. ?>

A bueno ya entiendo lo de los miles de tags PHP
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???

Última edición por jotaincubus; 07/07/2011 a las 13:04 Razón: Dsculpas
  #10 (permalink)  
Antiguo 07/07/2011, 13:18
 
Fecha de Ingreso: febrero-2010
Mensajes: 45
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: No pretendo que lo hagan por mi... Alguien me puede explicar como se hace?

Ahora si me muestra todo!
Te agradezco muchisimo!

Cita:
Iniciado por jotaincubus Ver Mensaje
while ($resultado = mysql_fetch_array($ejecutar)){?>
<?php echo($id);?>
<?php


Y seguimos con los tags PHP

Imprime así:

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php");
  3.  
  4. $id = $_GET['identificador'];
  5. $consulta = "SELECT prd_id,    tipo_id, prd_nombre, prd_espanta, prd_area_accion, prd_apto_para, prd_precio_efectivo, prd_precio_otro, prd_descripcion_larga, prd_foto1, prd_foto2, prd_foto3, prd_foto4 FROM productos WHERE prd_id = $id";
  6. $ejecutar = mysql_query($consulta) or die ('Error consultando: '.mysql_error());
  7.  
  8. // inicio del muestreo
  9.  
  10. while ($resultado = mysql_fetch_array($ejecutar)){
  11. // php echo($id);
  12. echo $resultado['tipo_id'].'<br/>';
  13. echo $resultado['prd_nombre'].'<br/>';
  14. // así con todos los campos que quiera mostrar
  15. }
  16. //fin del muestreo
  17. mysql_close() ;          
  18. ?>

A bueno ya entiendo lo de los miles de tags PHP
  #11 (permalink)  
Antiguo 07/07/2011, 13:48
 
Fecha de Ingreso: febrero-2010
Mensajes: 45
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: No pretendo que lo hagan por mi... Alguien me puede explicar como se hace?

Algo más. Si quiero que la descripcion ampliada del producto "conexion.php" se muestre en la misma pantalla que el listado completo (que esta puesto con un include dentro de pagina) se puede?
se pone un "target="_self" o algo asi?
  #12 (permalink)  
Antiguo 07/07/2011, 13:53
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: No pretendo que lo hagan por mi... Alguien me puede explicar como se hace?

El problema es que necesitarías de otro tipo de tecnología tipo AJAX para que pases los datos a PHP sin que la pagina se refresque o vaya a otra pagina...

PHP necesita recibir el valor de la variable para hacer el SELECT así que necesitas pasarle el id por URL o por SESION.

Y no es posible pasarle dicho valor (en la misma pagina) si no utilizas Javascript ... No que yo sepa.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???

Etiquetas: 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 09:54.