Foros del Web » Programando para Internet » PHP »

Select optgroup que estoy haciendo mal!!!!

Estas en el tema de Select optgroup que estoy haciendo mal!!!! en el foro de PHP en Foros del Web. Tengo 2 Tablas Apiarios: ID_Apiario Nombre Apiario Colmenas: ID_Colmena ID_Apiario Nombre Colmena Estoy intentando crear un select con OPTGROUP Donde el padre es Apiario y ...
  #1 (permalink)  
Antiguo 31/03/2012, 18:00
 
Fecha de Ingreso: diciembre-2005
Mensajes: 87
Antigüedad: 18 años, 3 meses
Puntos: 3
Pregunta Select optgroup que estoy haciendo mal!!!!

Tengo 2 Tablas

Apiarios:
ID_Apiario
Nombre Apiario

Colmenas:
ID_Colmena
ID_Apiario
Nombre Colmena

Estoy intentando crear un select con OPTGROUP

Donde el padre es Apiario y los Hijos Colmenas

APIARIO 1
- COLMENA 1 DEL APIARIO 1
- COLMENA 2 DEL APIARIO 1
- COLMENA 3 DEL APIARIO 1

APIARIO 2
- COLMENA 1 DEL APIARIO 2
- COLMENA 2 DEL APIARIO 2
- COLMENA 3 DEL APIARIO 2

Esto en un Select, creo que el codigo PHP se explica bien, en la logica deberia de funcionar pero no me gunciona...

La conexion a la bbdd esta seteada en configuracion.php (Datos de conexion y Database Select)

Código PHP:
<?php

function GenerarListaApiColmena() {
    
    
//$query = "SELECT * FROM Colmenas ORDER BY ID_Apiario desc;";
    
$query "SELECT Colmenas.ID_Colmena,Colmenas.ID_Colmena,Colmenas.ID_Apiario,Apiarios.NombreApiario FROM Colmenas left join Apiarios on Colmenas.ID_Apiario = Apiarios.ID_Apiario order by NombreApiario asc;";
    
$Colmenas mysql_fetch_array($query);
    
$Apiarios = array();

    while (
$qa mysql_fetch_array($query)) {
        
$Apiarios[$qa['ID_Apiario']][$qa['NombreApiario']] = $Colmenas['NombreColmena'];
    }
    foreach (
$Apiarios as $label => $opt) { 
    
?>
        <optgroup label="<?php echo $label?>">
<?php   }
        foreach (
$Apiarios[$label] as $id => $name) { ?>
            <option value="<?php echo $id?>"><?php echo $name?></option>
<?php ?>
        </optgroup>
<?php }
?>

<?php GenerarListaApiColmena(); ?>

Ojala alguien me pueda ayudar.


Muchas gracias.
  #2 (permalink)  
Antiguo 31/03/2012, 21:36
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Select optgroup que estoy haciendo mal!!!!

Aja y donde esta <select></select>????
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 01/04/2012, 00:33
 
Fecha de Ingreso: diciembre-2005
Mensajes: 87
Antigüedad: 18 años, 3 meses
Puntos: 3
Respuesta: Select optgroup que estoy haciendo mal!!!!

Le quite para ver errores:


Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in optselect.php on line 10

Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in optselect.php on line 13

Warning: Invalid argument supplied for foreach() in
optselect.php on line 20

Código PHP:
<select name"Colmena"><?php GenerarListaApiColmena(); ?></select>

Última edición por nomakon; 01/04/2012 a las 01:04
  #4 (permalink)  
Antiguo 01/04/2012, 12:38
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Select optgroup que estoy haciendo mal!!!!

Si no hay una conexión a la db como espera que funcione????
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 01/04/2012, 16:31
 
Fecha de Ingreso: diciembre-2005
Mensajes: 87
Antigüedad: 18 años, 3 meses
Puntos: 3
Respuesta: Select optgroup que estoy haciendo mal!!!!

Si esta declarada en configuracion.php en el include tal como lo indico en el mensaje =(
  #6 (permalink)  
Antiguo 01/04/2012, 20:29
 
Fecha de Ingreso: diciembre-2005
Mensajes: 87
Antigüedad: 18 años, 3 meses
Puntos: 3
De acuerdo Solucionado

A quien le interese y le sea util creo que es un buen snipe para compartir con todos vosotros... tras fumarme 1 paquete de cigarrillos y 1 porrin como quien dice, lo he logrado...

Código PHP:
<?

function GeneraSelectOPTApiarioColmena()
{
    
//Declaracion de Variables
$ID_Usuario $_SESSION[ID_md5];

$sql "SELECT Colmenas.NombreColmena, Apiarios.ID_Apiario, Apiarios.NombreApiario as NombreApiario FROM Colmenas INNER JOIN Apiarios ON Colmenas.ID_Apiario = Apiarios.ID_Apiario WHERE Colmenas.ID_Usuario = '$ID_Usuario' && Apiarios.ID_Usuario = '$ID_Usuario' ORDER BY NombreApiario, ID_Apiario Asc";

echo 
"<select name='ID_Colmena' id='ID_Colmena'>";
$result mysql_query($sql);
$group = array();
 while (
$row mysql_fetch_assoc($result))
 {
     
$group[$row['NombreApiario']][] = $row;
 }
 foreach (
$group as $key => $values)
 {
     echo 
'<optgroup label="Apiario: '.$key.'">';
     foreach (
$values as $value
     {
         echo 
'<option value="'.$value['ID_Colmena'].'">Colmena: '.$value['NombreColmena'].'</option>';
     }
     echo 
'</optgroup>';
 }
echo 
"</select>";
}
?>
Tan solo teneis que llamar a la funcion y generara un Select Con un OPTGroup

El esquema de la bbdd esta explicado mas arriba.

Asi llamo al select:

Código PHP:
<td><p><?php GeneraSelectOPTApiarioColmena(); ?></p></td>

Etiquetas: haciendo, mysql, select, 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 14:37.