Foros del Web » Programando para Internet » PHP »

Lista desplegable formato tree list

Estas en el tema de Lista desplegable formato tree list en el foro de PHP en Foros del Web. Hola, alguien podría ayudarme para ver que estoy haciendo mal? estoy tratando de desplegar un "temario" de tres niveles es decir: tema--subtema y tema específico. ...
  #1 (permalink)  
Antiguo 21/08/2015, 15:11
Avatar de elmoikano  
Fecha de Ingreso: enero-2013
Mensajes: 50
Antigüedad: 11 años, 3 meses
Puntos: 0
Exclamación Lista desplegable formato tree list

Hola, alguien podría ayudarme para ver que estoy haciendo mal?

estoy tratando de desplegar un "temario" de tres niveles es decir: tema--subtema y tema específico. Hasta el momento llevo listados los temas (primer nivel) y el subtema (segundo nivel) correspondiente a cada tema, la complicación la tengo con el tercer nivel (tema específico) cada uno de las categorías se llenan de una tabla distinta que se encuentra en postgr

Este es el index.php
Código PHP:
<div class="container">
        <input type="search" id="my-search" placeholder="search">
        <ul id="my-tree">
            <?php
                   
while ($row pg_fetch_array($result_temas)) {
                     
//do stuff with $row
                   
echo "<li>    
                            <div>"
.$row['texto_nuevo']."</div>
                            <ul>"
;
                                
$rows_subtemas get_subtemas($row['id']);
                                foreach (
$rows_subtemas as $row_sub) {
                            echo 
"<li>
                                    <div>" 
$row_sub['subtema'] . "</div>
                                        <ul>
                                            "
;
                                
$rows_microtemas get_microtemas($row['id']);
                                foreach (
$rows_microtemas as $row_mic) {
                                            echo
"<li><div>" $row_mic['microtema'] . "</div></li>";}
                                 echo 
"</ul>";}
                                   echo
"</li>";
                      echo 
"</ul>
                         </li>"
;}
            
?> 
        </ul>
    </div>
este se llena con la siguientes consultas qry_temario.php

Código PHP:
<?php
        
include 'config.php';
                  
$result_temas=pg_query($conn"SELECT 
                    tema.id,
                    tema.texto_nuevo
                    FROM
                    dspace_subject.tbl_tema AS tema
                    ORDER BY
                    tema.texto_nuevo ASC"
);
                  if  (!
$result_temas) {
                   echo 
"query did not execute";
                  }
    function 
get_subtemas($id) {
        include 
'config.php';
                  
$result_subtemas=pg_query($conn"SELECT 
                    subtema.id,
                    subtema.subtema
                    FROM
                    dspace_subject.tbl_subtema AS subtema
                    WHERE
                    subtema.tema_id = $id
                    ORDER BY
                    subtema.subtema ASC"
);
                  if  (!
$result_subtemas) {
                   echo 
"query did not execute";
                  }
                  return 
pg_fetch_all($result_subtemas);
        }
        function 
get_microtemas($id) {
        include 
'config.php';
                  
$result_microtemas=pg_query($conn"SELECT 
                    microtema.id as mid,
                    microtema.microtema
                    FROM
                    dspace_subject.tbl_microtema AS microtema
                    WHERE
                    microtema.subtema_id = $id
                    ORDER BY
                    microtema.microtema ASC"
);
                  if  (!
$result_microtemas) {
                   echo 
"query did not execute";
                  }
                  return 
pg_fetch_all($result_microtemas);
        }
     
?>
Segun yo, lo que no debo hacer y son embargo lo intenté es poner un foreach dentro de otro foreach, pero aun que cierre el foreach anterior antes puedo desplegar los temas específicos correspondientes a cada subtema.

Alguien que pueda orientarme? de antemano gracias y abrazos a la comunidad....
__________________
Bibliotecario pero morboso de las Tecnologías....
  #2 (permalink)  
Antiguo 21/08/2015, 16:06
Avatar de elmoikano  
Fecha de Ingreso: enero-2013
Mensajes: 50
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Lista desplegable formato tree list

Hola estimado amigos... creo que he visto que esta pasando, ejecute el query directo en postgresql y me di cuenta de que en el archivo qry_temario.php la variable $id de la función get_microtemas esta confundiendo el id, es decir que recibe el mismo valor de tema por lo que se genera de manera erronea la relación, alguna idea de como puedo hacer que la variable $id que recibe get_microtemas sea el valor de sudtema_id??????

espero ser claro..... :/
__________________
Bibliotecario pero morboso de las Tecnologías....
  #3 (permalink)  
Antiguo 21/08/2015, 16:30
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Lista desplegable formato tree list

Código PHP:
Ver original
  1. $rows_microtemas = get_microtemas($row['id']);

En vez de $row['id'] deberías usar $row_subtema['id']
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 21/08/2015, 16:55
Avatar de elmoikano  
Fecha de Ingreso: enero-2013
Mensajes: 50
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Lista desplegable formato tree list

Triby sos grande.... ha quedado excelente!

Muchas gracias por la ayuda..... recibe un abrazo!!!
__________________
Bibliotecario pero morboso de las Tecnologías....

Etiquetas: Ninguno
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 21:25.