los pasos serían: en el <select> llamas la función de ajax: <select onchange="javascript: tablaDyn(this.value);">
En el <head> puedes poner tu ajax-javascript. Este es del ejemplo:
<script>
function tablaDyn(str) {
if (str.length == 0) {
document.getElementById("contenedor").innerHTML = "Sin datos";
return;
} else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("contenedor").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "tabla.php?q=" + str, true);
xmlhttp.send();
}
}
</script>
Sí no hay valor tablaDyn(str) - te mostrará "Sin datos".
El valor "this.value" viene del atributo "value" del <option> y pasa al parámetro (str) y se envía a la página "tabla.php" asignándolo al parámetro "q" que sacará los datos de una base de datos o un fichero o de donde sea - que no me has dicho.
"contenedor" es el espacio donde se mostrara la tabla dynamica. puede ser div, p, u otra cosa...
En tabla.php recuperas el dato enviado así:
$q = $_GET['q']; - esto es repito el "value" del <option> elegido
Con este valor buscas los demás valores y montas la tabla...
En la web del ejemplo que te dejé hay ejemplos con arrays y mysql database.
¿De dónde sacará los datos para la tabla?