Unidad 21. Cómo crear un Blog (I)


Introducción

Hasta ahora hemos visto cómo empezar a manejarnos con páginas dinámicas de acceso a datos utilizando PHP y un servidor mySQL.

La complejidad de las páginas que creemos dependerá de la profundidad de nuestros conocimientos de ambas tecnologías, por lo que muchas veces (sobre todo al principio) nos será dificil alcanzar algunos objetivos que nos propongamos.

Vamos a dedicar este tema a la elaboración de un proyecto complejo en el que deberemos emplear estas técnicas de un modo más completo.

Para ello crearemos un blog o bitácora y utilizaremos herramientas y procedimientos que hemos visto hasta ahora. No te pierdas este tema, introduciremos algunos conceptos que quizá te resulten interesantes.

Un blog es una página web donde se introduce contenido periódicamente sobre un tema en particular.

Su contenido suele organizarse en entradas que se van añadiendo con una asiduidad relativa.

Normalmente, estas entradas pueden comentarse. Es decir, cualquier usuario (o a veces solamente los registrados) pueden dejar su opinión sobre la entrada o sobre el blog en general.

Para facilitar la navegación por la página estas entradas suelen estar organizadas por temas o categorías, de modo que si te interesa poder leer todas las entradas relacionadas con un tema en concreto te sea mucho más sencillo.

 

Todo blog deberá tener, del mismo modo, una parte privada desde donde el usuario dueño de la bitácora pueda administrar y gestionar los contenidos del blog.

Desde el panel de administración, que debe estar protegido para que sólo tengan acceso aquellas personas con privilegios suficientes, podremos añadir, modificar o eliminar entradas, comentarios y categorías.

De hecho, la función de esta parte privada es que puedas actualizar el contenido sin necesidad de tener que recurrir a la interfaz de phpMyAdmin para insertar nuevos registros como vimos en el tema anterior.

 

El objetivo de este tema no es entrar en profundidad en cada uno de los detalles, porque podríamos no terminar nunca. Explicaremos el modo en el que deberemos actuar para alcanzar una estructura cerrada que cumpla los requisitos mínimos que un blog necesita.

 

El aspecto y funcionalidades finales están en tus manos, puedes añadir tantas cosas como quieras.

Así que vamos a empezar...

 

Estructura de datos

 

Nuestro primer paso para la creación de un blog será crear la estructura de datos que contendrá la información de las entradas y otros elementos del sitio.

En un sitio simple deberemos crear como mínimo 4 tablas: categorias, entradas, comentarios y usuarios.

En la tabla categorías deberemos listar el nombre de las categorías en las que se dividen las entradas.

En la tabla entradas deberemos almacenar el texto de la entrada con su título y fecha. Obviamente aquí deberemos hacer referencia a qué categoría pertenece la entrada. En un blog más complejo podríamos incluso almacenar qué integrante de la tabla de usuarios creó la entrada...

En la tabla comentarios deberemos almacenar el texto del comentario junto con la información del autor, como su nombre y correo electrónico, por ejemplo. Con conocimientos más profundos de PHP podríamos guardar hasta su dirección IP.

Finalmente en la tabla usuarios guardaremos el nombre y contraseña de los usuarios que tendrán acceso a la edición del blog. Más adelante verás que incluso se podrían establecer niveles de privilegios entre ellos.

 

El punto en cuestión en este caso es el hecho de que en la forma más simplificada las tres primeras tablas se encuentran relacionadas del siguiente modo:

Tablas del Blog

Como puedes ver en la imagen en la tabla entradas existe un campo que apunta al ID de categorías, y del mismo modo en la tabla comentarios tenemos que tener un campo que apunte a la entrada a la que pertenece dicho comentario.

 

El problema nos surge, por ejemplo, cuando insertemos una página que nos ayude a eliminar entradas. ¿Qué hacemos con los comentarios asociados a ella? ¿Deberemos crear una página más para que cuando se borre una entrada también lo hagan sus comentarios relacionados? ¿Y repetirlo para las categorías y sus entradas?.

No va a hacer falta.

Podremos utilizar una característica de la definición de la base de datos que existe en Mysql (no existía en las primeras versiones) y en otros sistemas gestores de bases de datos, el borrado y actualización en cascada.

Desde el entorno de PhpAdmin podremos definir esta característica en la vista de relaciones.

Podrás encontrar el enlace a esta vista desde la vista de detalle de cualquier tabla:

Enlace a Vista de Relaciones

Haz clic sobre él y verás una nueva ventana como esta:

Vista Relaciones

Desde aquí podremos especificar las relaciones que tiene la tabla con las demás tablas de la base de datos y qué hacer cuando un elemento relacionado se borra o modifica.

Fíjate que en el ejemplo solamente los campos Id e Id_Categoría son susceptibles de esta opción. Eso es debido a que hemos definido ambos como índices, el primero por ser clave primaria y el segundo porque así lo indicamos en el momento de su creación utilizando el botón Índice Indice.

 

El modo en el que deberemos definir nuestro objetivo es el siguiente. A un campo indexado podemos asignarle una relación con otro campo indexado de otra tabla (en el ejemplo Id_Categoria está relacionado con el campo Id de la tabla categorias).

Deberemos decirle a phpMyAdmin qué hacer cuando se borre un elemento en la tabla relacionada categorias (ON DELETE) o cuando se modifique el valor de clave de un elemento (ON UPDATE).

La opción que nos interesa en este caso es CASCADE que actúa aplicando los cambios en cascada. Esto es, si borramos un elemento en la tabla categorias, se borrarán todos los registros en la tabla entradas que tengan el mismo ID en el campo Id_Categoria.

En el caso de que modificasemos el ID en la tabla categorias también se actualizaría en todos los registros de entradas con el mismo Id_Categoria si tenemos indicado ON UPDATE CASCADE.

 

Para practicar la creación de índices y relaciones realiza el Ejercicio Paso a Paso Estructura de Datos de un Blog.

 




  Ir a la página anterior Índice del curso  Ir a la siguiente página  

Pág. 21.1




Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies


© aulaClic. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.