No, una tabla para cada año no sería lo correcto .. (y ya ves la de problemas que te está dando para hacer un simple buscador o "filtro" por años ..)
Usa un campo en tu tabla ´que sea ese dato .. la fecha (año si quieres sólo) ..
ejemplo:
Posicion
Nombre
Pueblo
Tiempo... <-- Esto es el año? ..
any (año)
y ahí cuando quieras ver un año en concreto .. haces un SELECT condicional ..
SELECT * FROM tabla WHERE any='$any'
Y para representar ese select HTML (con sus option) de sólo los años que tengas en tu BD .. la consulta SQL debería ser algo así:
SELECT DISTINCT any FORM tabla
Y el consiguiente:
Código PHP:
// conectas a tu BD .. seleccionas la BD .. etc
$sql="SELECT DISTINCT any FORM tabla";
mysql_query($sql) or die (mysql_error());
echo "<SELECT name=\"".any."\">";
while ($registro=mysql_fetch_array($consulta)){
echo "<OPTION VALUE=\"".$registro['any']."\">".$registro['any']."</OPTION>\n";
}
echo "</SELECT>";
Eso sería la base..
DISTINCT en la sentencia SQL significa "distintos" .. así que si tienes X regitros del año 1991 .. sólo se tomará uno .. y así con todos los que pudieras tener (incluido .. ejemplo si borrases un año completo la consulta sólo arrojará los que existan y sean distintos entre si). Mas info:
www.mysql.com
Un saludo,