Hola,
No sé si habrás trabajado con el objeto "XMLHttpRequest" (o sea, parte fundamental del famoso "ajax"), pero, creo que podría servirte hacer uso del mismo. La cosa, utilizando la librería
jQuery podría quedar más o menos así:
Código PHP:
<div id="marcotabla">
<table>
</table>
<a href="#" onclick="$('#marcotabla').load('script.php');"></a>
</div>
Cuando se hiciera clic en el enlace de más arriba, se cargaría "en segundo plano" (sin salir de la página donde te encuentres) el archivo "script.php". Quiere decirse que la salida de este último Script sería volcada (cargada) en el "DIV" con ID "marcotabla".
Sin salirnos del método "load" de jQuery podemos incluso pasar parámetros a "script.php":
Código PHP:
<div id="marcotabla">
<table>
</table>
<a href="#" onclick="$('#marcotabla').load('script.php',{param1:valor1,param2:valor2});"></a>
</div>
En fin... también puedes no querer usar jQuery, y hacer uso de cualquier otra solución, o incluso "atacar" directamente al objeto "XMLHttpRequest". A poco que busques por ahí encontrarás no poca información al respecto.