Per scorrere i record si usa sì il while e mysql_fetch_array() o mysql_fetch_assoc() ma come ti ho già scritto ti obblighi a fare tutta una serie di passaggi inutili e ad eseguire una query per ogni record mentre con una soluzione diretta in mysql basta UNA query.

Devi aggiornare il titolo solo dei 30 record con id più basso?

codice:
update news set titolo = substring(titolo from 1 for char_length(titolo)-1) where id <= (
select * from (select id from news order by id asc limit 29,1) as tab)