Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/09/2009, 04:44
Hildegaard
 
Fecha de Ingreso: diciembre-2007
Mensajes: 131
Antigüedad: 16 años, 4 meses
Puntos: 6
Respuesta: Ayuda sobre consulta

Código PHP:
$q "SELECT * FROM tabla_usuarios";
$resultados mysql_query($q); # Obtenemos los resultados de la base de datos

$grupos = array();
# Hacemos el famoso loop recorriendo todas las lineas del resultado de la base de datos
while ($row mysql_fetch_array($resultados)) {
    
# Creamos un array multi-nivel donde cada grupo es el 1er nivel, y cada resultado para ese grupo es el 2do nivel
    
$grupos[$row['grupo']][] = $row;
}

# Una vez que llegamos a este punto, deberiamos tener un array de la siguiente forma:
# $grupos {
#    grupos1 {
#       nombre;
#       apellido;
#       telefono;
#       etc;
#    }
#    grupo2 {
#       nombre;
#       apellido;
#       telefono;
#       etc;
#    }
#    etc
# }

# ahora hacemos un loop por cada grupo, y guardamos en un array separado los numeros de telefono, ordenados tambien por grupos
$telefonos_por_grupo = array();
for (
$i 0$i count($grupos); $i++) {
    for (
$x 0$x count($grupos[$i]); $x++) { # El loop es multinivel, ya que cada array es multinivel (grupo + item del grupo)
        
$telefonos_por_grupo[$grupos[$i]['grupo']][] = $grupos['telefono'];
    }
}

# Una vez terminado esto, tenemos otro array multi nivel, pero solo con los valores del numero de telefono. Con este array vamos a crear el 'select'

$keys array_keys[$telefonos_por_grupos];
echo 
'<select name="grupos">';
for (
$i 0$i count($telefonos_por_grupos); $i++) {
    echo 
'<option value="'.implode(",",$telefonos_por_grupos[$keys[$i]].'">'.$keys[$i].'</option>';
}
echo 
'</select>'