Comunidad de diseño web y desarrollo en internet online

problema en consulta

Citar            
MensajeEscrito el 09 Ene 2009 05:30 pm
Hola!! Mi consulta se debe a q estoy programando una página en la cual quiero mostrar una serie de productos, que tengo en mi base de datos con sus respectivas categorias,tengo definidas 2 tablas en mysql: PRODUCTOS Y CATEGORIAS, ambas con idCategoria (tipo entero)que las relaciona, cuando intento mostrar los productos con sus respectivas categorias NO ME APARECEN! es como que no reconociera los enteros,xq tambien intente mostrar el idCategoria y no me muestra nada,agradeceria me pudieran ayudar.Saludos
El código:

include_once("../config2.php");

$link = mysql_connect($servidor, $usuario, $pass) or die("Error de conexion servidor");
$bd = mysql_select_db($basedato, $link) or die("Error de seleccione de BD");
$sql = "SELECT * FROM productos ORDER BY idCategoria, producto ASC";
$prod = mysql_query($sql, $link) or die(mysql_error("ERROR de consulta..."));

while($dato = mysql_fetch_array($prod))
{
$sql2 = "SELECT categoria FROM categorias WHERE idCategoria= '{$dato['idCategoria']}'" ;
$cat= mysql_query($sql2, $link) or die(mysql_error("ERROR de consulta..."));
while($resultado = mysql_fetch_array($cat))
{};
echo stripslashes($dato['producto']);
echo $resultado[0];

Por Vane_84

5 de clabLevel



Genero:Femenino  

msie
Citar            
MensajeEscrito el 09 Ene 2009 06:31 pm
Hola Vane_84, primero que nada estás haciendo en 2 consultas lo que podrías hacer en una sola... Con esta consulta deberia bastar:

Código MySQL :

SELECT p.producto, c.categoria 
FROM productos p 
LEFT JOIN categorias c ON p.idCategoria = c.idCategoria
ORDER BY p.producto, c.idCategoria;
A partir de esa consulta modifico tu código, el cual debo decir estaba raro, no se si lo copiaste mal o que de que...

Código PHP :

<?php
   include_once("../config2.php");

   $link = mysql_connect($servidor, $usuario, $pass) or die("Error de conexion servidor");
   $bd = mysql_select_db($basedato, $link) or die("Error de seleccione de BD");

   $sql = "SELECT p.producto, c.categoria FROM productos p LEFT JOIN categorias c ON p.idCategoria = c.idCategoria ORDER BY p.producto, c.idCategoria";

   $prod = mysql_query($sql, $link) or die(mysql_error("ERROR de consulta..."));

   while($dato = mysql_fetch_array($prod))
   {
      echo stripslashes($dato['producto']);
      echo stripslashes($dato['categoria']);

      //Y todo lo que tu quieras
   }
?>
Prueba como te va con eso...

Nota: No estaría demás que leyeras sobre JOINS en SQL... Saludos...

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

firefox
Citar            
MensajeEscrito el 09 Ene 2009 07:58 pm
muchisimas gracias!!! habia probado con join antes pero no escribí bien la sintaxis.... Saludos

Por Vane_84

5 de clabLevel



Genero:Femenino  

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.