Hola. estoy desarrollando un cms de un sitio web de secciones. los datos los estoy mostrando en un select box. las secciones que van a tener son:

quienes somos, servicios, noticias, articulos.

Las tablas que he definido son secciones y subsecciones.

[img]http://imageshack.us/photo/my-images/836/modelodedatos.jpg/[/img]

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.

Esto es lo que deseo mostrar.

Código HTML :

<select id="secciones" name="secciones">
  <option value="0">--seleccione--</option>
  <optgroup label="Español">
      <option value="1"> &gt;&gt; nosotros</option>
      <option value="2"> &gt;&gt; Servicios</option>
      <option value="2"> &nbsp;&nbsp; &gt;&gt;&gt; Servicios 1.1</option>
      <option value="2"> &nbsp;&nbsp; &gt;&gt;&gt; Servicios 1.2</option>
      <option value="3"> &gt;&gt; noticias</option>
      <option value="4"> &gt;&gt; articulos</option>
  </optgroup>
</select>



googleando encontre un ejemplo. me guie del sitio y lo adapte a lo que quiero mostrar.

Código PHP :

function listar_secciones()
{
    echo "<select name=\"secciones\" id=\"secciones\" class=\"txtbox\">";
    echo "<option value=\"0\">--seleccione--</option>";
    
    $sql_secciones  = "SELECT * FROM `menu_secciones` ms,  `idiomas` i WHERE i.prefijo = ms.idioma";
    $rpta_secciones = query($sql_secciones,$cn) or die(mysql_error());
    $groups = array();
 
    while ($qa = fetch_array($rpta_secciones))
    {
        $groups[$qa['idioma']][$qa['idseccion']] = $qa['nombre_seccion'];
    }
 
    foreach ($groups as $label => $opt) 
    { 
        echo " <optgroup label=".utf8_encode($label).">";
    }   
        
        foreach ($groups[$label] as $id => $name) 
        {
            $sql_subsecciones  = "SELECT * FROM `menu_secciones` ms, menu_subsecciones msb 
                                  WHERE msb.idseccion = ms.idseccion
                                  AND msb.idseccion = '$id'";
            $rpta_subsecciones = query($sql_subsecciones,$cn) or die(mysql_error());
            $num_secciones     = num_rows($rpta_subsecciones);
            
            echo "<option value=".$id."> >> ".$name."</option>";
            
            if($num_secciones>0)
            {
                while($subseccion = fetch_array($rpta_subsecciones))
                {
                    echo "<option value=".$subseccion['idseccion']."> &nbsp;&nbsp; >>> ".$subseccion['nombre_subseccion']."</option>";
                }
                
            }
            else
            {
                echo "";
            }
                    
        } 
 
        echo "</optgroup>";
        
        echo "</select>";
        
}


Mi pregunta es como haria para mostrar las otras demas secciones dentro del select box?. en el caso de la seccion Servicios 1.1 tiene 2 secciones mas como muestro en el html.

saludos.