La forma más facil de hacer eso, es usando el metodo Get.
Lo que tienes que hacer es en el script que muestra la lista, obtener un parametro, digamos: Filtro, quedaria algo asi:
if (isset($_GET['filtro'])) {
$Filtro=$_GET['filtro'];
}
Entonces en tu SQL pones algo así como:
if (isset($Filtro)) {
$Sql = "Select * from Tabla where Campo='$Filtro';";
} else {
$Sql = "Seleect * from Tabla";
}
Bien, ahora en tu html, pones algo así como:
<form action="lista.php?Filtro=amarillo">
<input type="submit" value="Amarillo">
</form>
<form action="lista.php?Filtro=azul">
<input type="submit" value="Azul">
</form>
.......
......
Y listo, queda muy bien.
Ahora, como nota. Yo no te recomiendo esta forma, ya que es muy insegura. Te dije que era la más facil, pero no es la mejor, ya que pueden usar inyección de sql o tecnicas parecidas. Lo que seria mejor es que en lugar de texto utilizes números y luego hagas un Switch para determinar las distintas cadenas de SQL.
Tambien lo puedes hacer por post, no hay problema.
Ahora, en lugar de botones, pueden ser texto o imagenes, lo cual lo puede hacer más llamativo, para hacerlo solo pondrias algo asi:
<a href="lista.php?Filtro=azul">Azul</a>
Como ultimo comentario, tambien puedes hacerlo en un solo formulario o un formulario más complejo, pero con ayuda de un poquito de JavaScript.
Espero que te sirva de ayuda, te recuerdo que esta es una forma más no la unica.
Saludos!
-
Miguel Angel
Mike79