Podrias usar el buffer de salida de PHP .. forzandolo a que muestre lo que tenga en el momento que quieras con flush():
Código PHP:
<?
echo "Estoy cargando datos";
flush();
// ejecutas tus consultas a tu BD
echo "ya terminé";
flush();
?>
De esta forma .. se entrega al navegador (dispositivo de salida) ese "HTML" acomulado que tiene PHP generado .. y continua con su proceso. PHP por defecto no entrega el "HTML" generado hasta que no termina el script .. por eso habría que "forzarlo" como te comento.
Un saludo,