Búsqueda en base de datos

Hola a todos.

Me gustaría incluir en mi web un sistema de búsqueda para datos de una base de datos.
Mi idea era poner algo como: (suponiendo que partimos de una pagina que incluye un formulario donde escribir la búsqueda)

SELECT * FROM tabla WHERE usuario LIKE '%$busqueda%'

Pero me parece muy simple y no demasiado fiable.
También me gustaría poder aplicar una serie de filtros a los resultados, es decir que, por ejemplo, cuando haga una búsqueda por nombre me salgan los datos ordenados de más nuevo a más antiguo.
¿Qué sentencia o script debería utilizar?

Gracias de antemano.
Salu2.
Hola!

Todo dependerá del resultado que esperes. La consulta SQL es correcta, pero ten en cuenta que sólo encontrará $busqueda seguida y precedida por cualquier cosa, por ende, si un usuario busca algo específico, probablemente obtenga más de un resultado.

Si tu idea es crear algo como Google, entonces ya tienes una tarea mucho más difícil, pues tendrías que analizar la búsqueda ingresada y aplicar filtros (lo que Google hace con más de un servidor, para poder devolver los resultados de manera eficiente).

Sobre el orden, suponiendo que la tabla tenga una columna que indique cuándo fue añadido, entonces podrías hacer esto:

SELECT * FROM tabla WHERE usuario LIKE '%$busqueda%' ORDER BY fecha_ingreso

Deberías implementar un sistema donde le preguntes al usuario "Qué tipo de búsqueda desea realizar?":

Normal: utilizando LIKE en la consulta.
Específico: utilizando = en lugar de LIKE - SELECT * FROM tabla WHERE columna = '$busqueda' ORDER BY columna_fecha
Avanzado: permite al usuario definir por qué campos buscar. Esto ya es mucho más complejo, pues debes construir la consulta dinámicamente dependiendo de la selección del usuario.

Creo que eso es todo. Ojalá te sirva :)

Saludos!
Hola!
Gracias skaparate, tu respuesta ha sido de gran ayuda.

Pues la idea principal no era ni mucho menos algo como Google, sino una sencilla búsqueda de usuarios. Yo pensaba hacer una búsqueda como tu dices 'avanzada', pero de momento supongo que me serviré con la normal y la específica, no creo que necesite más ;).

De todas maneras, ¿Podrías explicar un poco por encima eso de construir una consulta dinámicamente?

Gracias.
Salu2.