Top

Cargando cosas bonitas...

Recargar...

Programar un generador de quotes aleatorias en PHP


Soy un gran fan de las frases célebres, llegando incluso a mantener un documento de texto en el cual las almaceno. Sin embargo, mantenerlas en un documento de texto plano no era la mejor idea. Así que decidí exportarlo a una base de datos, de esta manera podría realizar consultas, y tener todas las ventajas que nos da la persistencia de la información en bases de datos.

Con un script programado en PHP conseguí parsear el documento .txt, de manera que, inserté toda la información en una base de datos MySQL. Esto no fue muy complicado. Consistía en un bucle que recorría el fichero hasta el final, y en cada línea del mismo se obtenía la quote y el autor, para finalmente añadir ambos datos en dos columnas de una tabla.

Por si os interesa ver como programé el script que parseaba el documento, aquí abajo os lo muestro. Este código es probable que no lo necesitéis porque abajo del post he dejado un enlace a un fichero SQL para importar la base de datos con las frases.

Una vez parseado el documento, solamente queda el script en PHP que devuelve una frase aleatoria. La lógica es muy sencilla, únicamente genera un número aleatorio entre 0 y el número de quotes que haya en la base datos. Posteriormente, este número se utiliza para hacer una selección en la tabla de frases, la cual tiene como clave primaria un número que se va auto-incrementando a medida que se van añadiendo frases (lo que se conoce como ID).

Vale, ya tenemos lo esencial. Sin embargo, había algo que todavía no me gustaba del todo. Para poder ver una frase nueva tenías que recargar la página, no era muy user-friendly que digamos. Entonces pensé en AJAXAsynchronous JavaScript And XML.

De esta manera, haciendo uso de esta tecnología, conseguí que para ver una frase nueva, y cargar el script que generaba la frase aleatoria, solamente fuera necesario hacer click a un botón o enlace que llamase a una función de JavaScript. Aquí abajo dejo el código HTML.

Os dejo aquí el link al fichero SQL con todas las quotes que tengo en mi base de datos. Así también podréis probar este ejemplo.

Descargar BBDD con mis quotes (.sql)

 

Navegando he encontrado APIs que hace innecesario tener nuestra propia base de datos de frases. Esto es porque estas APIs nos devuelven una o varias frases en JSON. Aunque nadie nos garantiza que en algún momento dejen de funcionar. Un ejemplo de este tipo de APIs para desarrolladores la podéis encontrar en este link.

De todas maneras, en la página principal de esta web, se puede ver en la parte inferior un ejemplo funcional de este código. ¡Si tienes alguna pregunta escríbeme un comentario! 😉


1 Comentario

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *