Hola,
pues claro que te devuelve solo 1 fila. Eso es por que ejecutas una sola vez la funcion mysql_fetch_array(). Si quieres que te devuelva todos los resultados de la consulta haz esto:
Código PHP:
<?
$query = "select noticia FROM noticias ";
$resp = mysql_query($query);
while($datos = mysql_fetch_array($resp))
{
$texto= "$datos[noticia]";
echo substr($texto, 0, 150) . "...";
}
?>
Con el bucle va recogiendo todos las filas devueltas y las va imprimiendo.
un saludo,