devi sempre tenere presente che qualsiasi output a video di qualsiasi linguaggio di programmazione lato server (tipo PHP, ASP) si basa sull'html, quindi in genere si usa codice misto PHP/HTML o ASP/HTML.
Per esempio, poniamo il caso che tu voglia fare una tabella con tutti i record presenti nel database, dopo aver ottenuto tutti i record che ti interessano tramite "mysql_query" e dopo aver il codice potrebbe essere il seguente:
Codice PHP:
echo '<table width="80%">';
echo 
'  <tr>';
echo 
'    <td>NOME</td><td>COGNOME</td><td>TELEFONO</td>';
echo 
'  </tr>';

//gli echo precedenti servono per impostare la tabella e le intestazioni di colonna
//si poteva fare tutto su una riga con un unico ECHO, ma così è più leggibile dopo.

// il ciclo while qui sotto verrà ciclato per ogni record presente nella tabella del batadase
// e per ognuno di essi manderà in output a video un codice html che rappresenta una
// riga di tabella con 3 celle

while($row=mysql_fetch_array($result)) // $result è il recordset ottenuto con la query al db
{
  echo 
'  <tr>';
  echo 
'    <td>'.$row['nome'].'</td><td>'.$row['cognome'].'</td><td>'.$row['telefono'].'</td>';
  echo 
'  </tr>';
}

echo 
'</table>'