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>';