Ah un buscador normal. Vale, pensé k pedías algo especial:
Eso se hace con MySQL.
Necesitas 2 cosas: un programa que muestre resultados (en PHP y que muestre HTML), y un programa que saque los resultados (preguntándole a la base de datos).
El único medio complicado es el que saque los datos y se hace de la siguiente manera:
Supongamos que tenemos una tabla MySQL tal que:
miTabla:
- id
- nombre
- artista
- album
- anyo
Entonces queremos los registros con el artista "Coldplay" entonces buscamos:
Código:
SELECT --> Selecciona
* --> todos los los campos (columnas)
FROM --> de
`miTabla` --> la tabla miTabla
WHERE --> donde
`artista` = 'Coldplay' --> el artista sea Colplay
ORDER BY --> y ordénalos por
id`; --> id
Pero esto sólo te devuelve los registros que tengan en Artista 'Coldplay' no devolviéndote los registros que ponga 'COLDPLAY' (depende del cifrado y creo que del tipo de tabla) ni tampoco 'Colplay y Guns and Roses'.
Para eso usamos LIKE '% ... %', % se llama wildchar (equivale a lo que sea).
Habría que refinar más el algoritmo por que también te devolvería AColdplay, pero bueno, eso lo tienes que buscar mas a fondo en la página de MySQL.
Entonces, imaginemos que queremos permitir búsqueda por Artista, y por Nombre (añadir mas es cuestión de pensarlo un segundo), entonces necesitamos un formulario talque:
Código HTML:
Ver original<form action="" method="post"> Buscar:
<input type="text" value="Buscar..." name="aBuscar"/> por
<input type="submit" value="¡Buscar!" name="aEnviar"/>
Notese que en <option value="nombre">Canción</option> nombre es el nombre de la columna, y Canción es el concepto. Allí podrías poner Perros mojados a la parrilla y seguiría funcionando.
Ahora te toca interpretar los datos, y eso tienes que currártelo un poco (no es complicado). Lo que tienes que enviar a la base de datos para obtener el resultado es:
Código PHP:
Ver originalmysql_query("SELECT * FROM `miTabla` WHERE `".$_POST['aDonde']."` = '".$_POST['aBuscar']."' ORDER BY `id`;",$link);
Ahora bien, te queda arreglar una serie de fallos que tiene el sistema base:
- Se puede usar el Firebug para cambiar los datos enviados por POST y buscar los resultados de forma extraña. Es decir este código es ligeramente vulnerable a sufrir XSS (Cross Site Scripting), o sea, que no es muy seguro. Esto lo tienes que trabajar tú.
- El problema que indiqué antes que devuelve cualquier artista que contenga Coldplay en ella.
- Es un sistema muy básico, quizás debes mejorarlo un poco.
Espero que te sirva esto, por que creo que me lo he currado bastante XD.