Ver Mensaje Individual
  #6 (permalink)  
Antiguo 05/12/2012, 09:34
markos22
 
Fecha de Ingreso: mayo-2012
Mensajes: 26
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: Unir dos tablas con php

hola rakshaka, con LEFT JOIN puedes juntar los resultados de ambas tablas (como dijo abimaelrc), mira te dejo a continuacion unos pasos,
si se me fue alguna coma o algo demas, perdon, pero no lo revise
le coloque comentarios para q puedas entenderlo un poco, saludos espero te sirva.

Código PHP:
Ver original
  1. <?php
  2. //$conexion modifica la funcion q tienes, no dejes espacios aqui conectarse   (), agrupalo conectarse()
  3. $conexion= conectarse();
  4. //este valor lo puedes obtener por _GET o lo puedes especificar
  5. $categoria= 1;
  6.  
  7. //si te preguntas por q nombre p y c a las tablas lo hice para identificar mas rapido los campos XP
  8.  
  9.     //realizo la consulta a la base de datos juntando ambas tablas
  10.     $sql = "SELECT p.*, c.nombre_categoria, c.id_categoria"
  11.     . "\n FROM productos as p"
  12.     //junto el id de la categoria con la categoria padre de los productos
  13.     . "\n LEFT JOIN categorias as c ON c.id_categoria = p.categoria_padre"
  14.     //busco solo los de una categoria
  15.     . "\n WHERE c.id_categoria = '".$categoria."'"
  16.     . "\n ORDER BY p.id_producto";
  17.     $resultado=mysql_query($sql,$conexion);
  18.     $fila = mysql_fetch_array($resultado);
  19.     //si encontramos algo en la categoria lo mostramos
  20.     if($fila):
  21. ?>
  22. <!-- comienzo-->
  23. <dt><?php echo $fila['nombre_categoria']; ?></dt>
  24.     <dd>
  25.         <span>
  26.     <?php foreach($fila as $items):?>
  27.             <p><?php echo $items['nombre_producto'];?></p>
  28.     <?php endforeach;?>
  29.         </span>
  30.     </dd>
  31. <!-- fin/-->    
  32. <?php endif;?>

Ahh y trata de q cuando muestres una parte del codigo lo hagas dentro de un HIghlight ya sea de php de html u otro formato, pero es para q se entienda mejor, algo asi como lo q pusiste de la conexion, solo lo digo por el ultimo mensaje q posteaste, saludos