Foros del Web » Programando para Internet » PHP »

Cargar datos sin repetir

Estas en el tema de Cargar datos sin repetir en el foro de PHP en Foros del Web. Que tal foro Tengo un problema con una consulta en la cual hago un menu pero al momento de mostrar me repite los datos en ...
  #1 (permalink)  
Antiguo 15/01/2013, 13:16
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 11 meses
Puntos: 12
Pregunta Cargar datos sin repetir

Que tal foro

Tengo un problema con una consulta en la cual hago un menu pero al momento de mostrar me repite los datos en vez de agruparlos, es decir en vez de mostrar menu-submenu1-submenu2 imprime menu-submenu1 menu-submenu2

me podrian apoyar para saber el error .

Código PHP:
Ver original
  1. <ul id="menu-primario">
  2.             <li><a href="panelControl.php">Panel de control</a></li>
  3.             <?php $query = "SELECT m.menuID,m.titulo,m.directorio,m.link,s.nombreSubmenu,s.abrirPopup,s.linkSubmenu FROM menu AS m JOIN submenu AS s ON m.menuID=s.menuID";
  4.             if($menus=$connection->recordsList($query)):
  5.             foreach($menus as $menu): ?>
  6.             <li><a href="#"><?php echo $menu->titulo; ?></a>
  7.                 <ul><li><a href="<?php echo $menu->linkSubmenu; ?>"><?php echo $menu->nombreSubmenu; ?></a></li></ul>  
  8.             </li>
  9.             <?php endforeach; ?>
  10.         <?php endif; ?>
  11.         </ul>
__________________
Lo imposible solo cuesta un poco mas
  #2 (permalink)  
Antiguo 15/01/2013, 13:20
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 10 meses
Puntos: 1532
Respuesta: Cargar datos sin repetir

pues tendrás que aclararnos como viene la data, por que lo que veo es un sólo ciclo, lo que me hace suponer que la data viene de ésta forma:

menu1 submenu1 dato1
menu1 submenu1 dato2
menu1 submenu2 dato1

¿estoy en lo cierto?, en dicho caso lo ideal es usar una variable $lastsubmenu con el primer menu antes de ciclo y cortarlo (por html) cuando en la proxima vuelta del ciclo el menu cambie, seteando $lastsubmenu en el menú actual.

espero haberme explicado claro
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 15/01/2013, 13:25
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 11 meses
Puntos: 12
Respuesta: Cargar datos sin repetir

Gracias por contestar.

A que te refieres con setear me podrias explicar no cache bien la idea.
Y lo que quiero obtener es que no me repita el menu en distintos, si no que los agrupe.

asi es como lo imprime:
menu1 menu1
dato1 dato2

y deberia de ser asi:
menu1 menu2
dato1 dato1
dato2

el dato oviamente pertenece a cada menu por ejemplo :
Clientes Empleados
nuevo cliente nuevo empleado
modificar cliente modificar empleado
__________________
Lo imposible solo cuesta un poco mas
  #4 (permalink)  
Antiguo 15/01/2013, 13:41
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 10 meses
Puntos: 1532
Respuesta: Cargar datos sin repetir

lo ideal es que nos des un vistazo del modelo de datos, para comprender realmente el problema.

y con respecto a los términos "setear" es establecer, ejemplo:

$vari = 'value';

que problema con mi spanglish, saludos
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 15/01/2013, 13:56
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 11 meses
Puntos: 12
Respuesta: Cargar datos sin repetir

en mi base de datos almaceno asi:
Menu:


Submenu:
__________________
Lo imposible solo cuesta un poco mas
  #6 (permalink)  
Antiguo 15/01/2013, 14:29
Avatar de jandrogdz  
Fecha de Ingreso: julio-2012
Ubicación: public $Guadalajara
Mensajes: 397
Antigüedad: 11 años, 11 meses
Puntos: 12
Respuesta: Cargar datos sin repetir

Ya solucione el problema

genere dos metodos, uno para menu y otro para submen, ambos con su respectiva consulta y el codigo php de esta forma:

Código PHP:
Ver original
  1. <ul id="menu-primario">
  2.             <li><a href="panelControl.php">Panel de control</a></li>
  3.             <?php
  4.             if($menus=$utilidades->mostrarMenu()):
  5.                 foreach($menus as $menu): ?>
  6.                     <li><a href="#"><?php echo $menu->titulo; ?></a>
  7.                     <ul>
  8.                     <?php  $utilidades->setMenuID($menu->menuID);
  9.                         if($submenus=$utilidades->mostrarSubmenu()):
  10.                         foreach($submenus as $submenu): ?>
  11.                         <li><a href="<?php echo $menu->directorio."/".$submenu->linkSubmenu; ?>"><?php echo $submenu->nombreSubmenu; ?></a></li>
  12.                         <?php
  13.                         endforeach;
  14.                         endif; ?>
  15.                     </ul>
  16.                     </li>
  17.             <?php endforeach; ?>
  18.         <?php endif; ?>
  19. </ul>
__________________
Lo imposible solo cuesta un poco mas

Etiquetas: repetir
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 16:50.