Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/12/2011, 08:21
Avatar de anacona16
anacona16
 
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 9 meses
Puntos: 52
Respuesta: Retornar datos de una consulta y un ciclo anidado

Bueno pues despues de preguntar aqui y alla... por ahi me han ayudado a solucionar esta duda... y como es lo concerniente al foro pues aqui publico la solucion:

Código PHP:
Ver original
  1. <?php
  2. $my_handler = new PDO("mysql:host=localhost;dbname=XXX", "XXX", "XXX");
  3. $my_query = "SELECT tbl_menus.id AS menu_id, tbl_menus.menu AS menu_menu, tbl_submenus.id AS submenu_id, tbl_submenus.submenu AS submenu_submenu FROM tbl_menus LEFT JOIN tbl_submenus ON tbl_menus.id = tbl_submenus.menu_id";
  4. $result = $my_handler->query($my_query);
  5. while ($row = $result->fetch (PDO::FETCH_ASSOC))
  6. {
  7. $menus[$row['menu_id']]['Nombre'] = $row['menu_menu'];
  8. $menus[$row['menu_id']]['Id'] = $row['menu_id'];
  9. $menus[$row['menu_id']]['Submenus'][$row['submenu_id']] = array('Submenu_id' => $row['submenu_id'], 'Submenu' => $row['submenu_submenu']);
  10. }
  11. print_r($menus);
  12. foreach($menus as $menu)
  13. {
  14.   echo '<p>Submenus de principal: '.$menu['Nombre'].' con id '.$menu['Id'].' </p>';echo "\n";
  15.   foreach ($menu['Submenus'] as $submenu)
  16.   {
  17.       echo '<p>**Submenu "'.$submenu['Submenu_id'].'" con nombre: "'.$submenu['Submenu'].'"</p>';echo "\n";
  18.   }
  19. }
  20. ?>

Esto retornara:

Código:
Array
(
    [1] => Array
        (
            [Nombre] => Carros
            [Id] => 1
            [Submenus] => Array
                (
                    [1] => Array
                        (
                            [Submenu_id] => 1
                            [Submenu] => Camionetas
                        ) 
                ) 
        ) 
    [2] => Array
        (
            [Nombre] => Casas
            [Id] => 2
            [Submenus] => Array
                (
                    [2] => Array
                        (
                            [Submenu_id] => 2
                            [Submenu] => De Playa
                        )
 
                    [3] => Array
                        (
                            [Submenu_id] => 3
                            [Submenu] => De Campo
                        )
 
                    [4] => Array
                        (
                            [Submenu_id] => 4
                            [Submenu] => San Salvador
                        ) 
                ) 
        ) 
)
<p>Submenus de principal: Carros con id 1 </p>
<p>**Submenu "1" con nombre: "Camionetas"</p>
<p>Submenus de principal: Casas con id 2 </p>
<p>**Submenu "2" con nombre: "De Playa"</p>
<p>**Submenu "3" con nombre: "De Campo"</p>
<p>**Submenu "4" con nombre: "San Salvador"</p> 
Espero esto le sirva a alguien...
__________________
Aprendiendo!!!