Buenas a todos

Estoy empezando con bases de datos y he realizado consultas básicas. Ahora me encuentro con un problema en principio sencillo pero no acabo de ver la luz. A ver si me podeis echar un cable por favor.

Tengo una tabla con dos campos (o mejor dicho los que quiero usar) "familia" y "nombre_producto"

familia-----------------nombre_poducto
rojo--------------------producto 1
rojo--------------------producto 2
amarillo ----------------producto 3
rojo--------------------producto 4

Necesito hacer la consulta para me muestre en una lista todos los producto de cada familia , debajo del título de la familia. Algo Así:

rojo
producto 1
producto 2
producto 4

amarillo
producto 3

El código que tengo es este:

Código MySQL :

mysql_connect($dbhost,$dbuser,$dbpasswd);
mysql_select_db($dbname);
   $sql = "SELECT familia, nombre_producto FROM catalogo GROUP BY familia";
   $result = mysql_query($sql) or die(mysql_error());
   while($row = mysql_fetch_array($result)){
   echo $row['familia'] ." <br>" .$row['nombre_producto'] ." <br>";
   }


Así solo me muestra el primer nombre de cada familia:

rojo
producto 1

amarillo
producto 3

Intuyo que la solución es bien sencilla, pero no doy con ella. Una ayudita por favor.