Buenas,
Estoy intentando llevar a la práctica las cosas que voy estudiando con PHP y el caso es que me encuentro en un punto en el que ya no sé como continuar: He creado una página sencilla cuyo único propósito es listarme mediante un SELECT en un formulario las tablas que he creado en una base de datos, y mostrar con un simple 'echo' la que seleccione en cada momento.
Para actualizar la página sin necesidad de incluir un botón (<button> ó <input type="submit">) he incluido el método 'onchange' en el SELECT con su correspondiente 'form.submit()' en javascript.
Pero me gustaría saber si existe alguna manera de realizar esta misma operación sin necesidad de incluir código javascript en la página, sólo XHTML y PHP, por lo que si alguien puede orientarme, se lo agradecería.
No sé si es necesario el código, pero lo incluyo por si acaso (simplificado para que resulte más claro seguirlo):
Código PHP:
<?php
$dbhost = 'localhost';
$dbuser = 'usuario';
$dbpass = 'contraseña';
$dbname = 'basedatos';
$conexion = mysql_connect( $dbhost, $dbuser, $dbpass );
$selectdb = mysql_select_db( $dbname, $conexion );
$no_tabla = '(ninguna)';
$tabla = ( isset( $_REQUEST['ftabla'] ) ? $_REQUEST['ftabla'] : $no_tabla );
echo "<pre>Tabla seleccionada: {$tabla}</pre>";
?>
<form action="" method="post">
<table summary="Prueba">
<tr>
<th>Tablas</th>
</tr>
<tr>
<td>
<select name="ftabla" onchange="javascript:form.submit()">
<?php
$sel = ( $tabla == $no_tabla ? ' selected="selected"' : '' );
echo "<option{$sel} value=\"{$no_tabla}\">Seleccionar</option>";
$aux = mysql_query( 'show tables from '.$dbname );
while ( $row = mysql_fetch_row( $aux ) )
{
$sel = ( $tabla == $row[0] ? ' selected="selected"' : '' );
echo "<option{$sel}>{$row[0]}</option>";
}
mysql_free_result( $aux );
?>
</select>
</td>
</tr>
</table>
</form>
Un saludo!