Muy a menudo esto se hace en un while bucle:
$types = array();
while(($row = mysql_fetch_assoc($result))) {
$types[] = $row['type'];
}
Eche un vistazo a los ejemplos en la documentación .
El mysql_fetch_* los métodos siempre obtendrán el siguiente elemento del conjunto de resultados:
Por eso el while los bucles funcionan. Si ya no hay filas $row será false y el while el bucle existe.
Solo parece que mysql_fetch_array obtiene más de una fila, porque por defecto obtiene el resultado como normales y como valor asociativo
:
Tu ejemplo lo muestra mejor, obtienes el mismo valor 18 y puede acceder a él a través de $v[0] o $v['type'] .