Foros del Web » Programando para Internet » PHP »

agrupar en un select secciones y subsecciones

Estas en el tema de agrupar en un select secciones y subsecciones en el foro de PHP en Foros del Web. hola. estoy desarrollando un cms de un sitio web de secciones. las secciones que van a tener son: quienes somos, servicios, noticias, articulos. las tablas ...
  #1 (permalink)  
Antiguo 21/03/2012, 17:14
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Pregunta agrupar en un select secciones y subsecciones

hola. estoy desarrollando un cms de un sitio web de secciones. las secciones que van a tener son:

quienes somos, servicios, noticias, articulos.

las tablas que he definido son secciones y subsecciones.



en la seccion de servicios va tener como secciones servicios1 y servicios2. dentro de servicios1 va contener otras secciones como servicios 1.1, servicios 1.2 y asi sucesivamente.

las secciones quiero mostrarlos dentro de un select agrupados por idiomas y por cada seccion.

esto es lo que deseo mostrar.

Código HTML:
Ver original
  1. <select id="secciones" name="secciones">
  2.   <option value="0">--seleccione--</option>
  3.   <optgroup label="Español">
  4.       <option value="1"> &gt;&gt; nosotros</option>
  5.       <option value="2"> &gt;&gt; Servicios</option>
  6.       <option value="2"> &nbsp;&nbsp; &gt;&gt;&gt; Servicios 1.1</option>
  7.       <option value="2"> &nbsp;&nbsp; &gt;&gt;&gt; Servicios 1.2</option>
  8.       <option value="3"> &gt;&gt; noticias</option>
  9.       <option value="4"> &gt;&gt; articulos</option>
  10.   </optgroup>

googleando encontre un ejemplo. me guie del sitio y eso es lo que programe.

Código PHP:
Ver original
  1. function listar_secciones()
  2. {
  3.     echo "<select name=\"secciones\" id=\"secciones\" class=\"txtbox\">";
  4.     echo "<option value=\"0\">--seleccione--</option>";
  5.    
  6.     $sql_secciones  = "SELECT * FROM `menu_secciones` ms,  `idiomas` i WHERE i.prefijo = ms.idioma";
  7.     $rpta_secciones = query($sql_secciones,$cn) or die(mysql_error());
  8.     $groups = array();
  9.  
  10.     while ($qa = fetch_array($rpta_secciones))
  11.     {
  12.         $groups[$qa['idioma']][$qa['idseccion']] = $qa['nombre_seccion'];
  13.     }
  14.  
  15.     foreach ($groups as $label => $opt)
  16.     {
  17.         echo " <optgroup label=".utf8_encode($label).">";
  18.     }  
  19.        
  20.         foreach ($groups[$label] as $id => $name)
  21.         {
  22.             $sql_subsecciones  = "SELECT * FROM `menu_secciones` ms, menu_subsecciones msb
  23.                                   WHERE msb.idseccion = ms.idseccion
  24.                                   AND msb.idseccion = '$id'";
  25.             $rpta_subsecciones = query($sql_subsecciones,$cn) or die(mysql_error());
  26.             $num_secciones     = num_rows($rpta_subsecciones);
  27.            
  28.             echo "<option value=".$id."> >> ".$name."</option>";
  29.            
  30.             if($num_secciones>0)
  31.             {
  32.                 while($subseccion = fetch_array($rpta_subsecciones))
  33.                 {
  34.                     echo "<option value=".$subseccion['idseccion']."> &nbsp;&nbsp; >>> ".$subseccion['nombre_subseccion']."</option>";
  35.                 }
  36.                
  37.             }
  38.             else
  39.             {
  40.                 echo "";
  41.             }
  42.                    
  43.         }
  44.  
  45.         echo "</optgroup>";
  46.        
  47.         echo "</select>";
  48.        
  49. }


mi pregunta como haria para mostrar las otras demas secciones. en el caso de la seccion Servicios 1.1 tiene 2 secciones mas.

saludos.
  #2 (permalink)  
Antiguo 22/03/2012, 06:59
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: agrupar en un select secciones y subsecciones

las secciones le estoy mostrando dentro de un select box. olvide especificar eso.

se entendio mi pregunta ?.

Etiquetas: agrupar, secciones, select, sql, tabla
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 19:30.