Beh l'idea di base e' che la tua applicazione e' sostanzialmente composta da due parti: l'elaborazione dei dati e la loro visualizzazione tramite output HTML per il browser. La naturale separazione tra queste due fasi ha portato alla realizzazione ed all'utilizzo di strumenti come framework MVC e template engine. Credo che anche imparando sia importante tenere separato il codice che elabora informazioni dal markup che genera l'output.

Esempio:

Codice PHP:
<?php
$today 
date('d/m/Y'time()); // data odierna
$news = ... // array creato tramite interrogazione del database
            // contenente un elenco di news

// ogni altra necessaria elaborazione e creazione di variabili
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Notizie del <?php echo $today?></title>
</head>

<body>
<table>
<?php foreach ($news as $line): ?>
<tr><td><?php echo $line?></td></tr>
<?php endforeach; ?>
</table>    
</body>

</html>
questo e' un esempio semplicissimo, ma la struttura e' questa.