devi usare UNION ( http://www.w3schools.com/sql/sql_union.asp )

in ogni caso non capisco perchè fai eseguire la query due volte

$risultato = mysql_query($query) or die (mysql_error());
$risposta = mysql_query($query) or die ("Utilizza termini più specifici!");

e poi fai così

$dentro_la_query= mysql_fetch_assoc($risposta);
if ( $dentro_la_query == TRUE ) {
while($row= mysql_fetch_assoc($risultato)) {


basta semplicemente fare

Codice PHP:
$query "SELECT * FROM tabella_news WHERE testo LIKE '%$cerca%' OR titolo LIKE '%$cerca%' OR data LIKE '%$cerca%'"
$risultato mysql_query($query) or die (mysql_error()); 
while( list(
$id,$titolo,$testo,$data) = mysql_fetch_row($risultato) ) {  
// stampiamo i nostri dati 
echo "Titolo: $titolo
"

echo 
"Data : $data
"

echo 
"Testo : $testo
"


eventualmente l'ordine di list($id,$titolo,$testo,$data) è da modificare in base alla reale disposizione dei campi nella tabella

oppure avresti potuto semplicemente fare ( se vuoi comunque tenere mysql_fetch_assoc )

Codice PHP:
echo "Titolo: ".$row['titolo']."
"

echo 
"Data : ".$row['data']."
"

echo 
"Testo : ".$row['testo']."
"