Me lo he tomado como algo personal ya que nunca se me había ocurrido hacer algo así. El cógido funciona pero me da la impresión que no es muy elegante, a ver si se pasa algún forero y nos enseña a ambos cómo hacer lo que pides de forma óptima:
Código PHP:
echo "<table border=\"1\">
<tr>
<td>Columna1</td>
<td>Columna2</td>
<td>Columna3</td>
</tr>";
$r=mysql_query("SELECT dato1, dato2, dato3
FROM usuario
LIMIT 3")
or die(mysql_error());
while ($row=mysql_fetch_array($r)){
$campo1[0][]=$row['dato1'];
$campo1[1][]=$row['dato2'];
$campo1[2][]=$row['dato3'];
$i++;
}
for($j=0;$j<$i;$j++){
echo " <tr>
<td>".$campo1[$j][0]."</td>
<td>".$campo1[$j][1]."</td>
<td>".$campo1[$j][2]."</td></tr>";
}
echo "</table>";