Menu

Gráfico ASP.NET con datos MySQL de un blog WordPress

10 Abril, 2017 - Diseño & ASP.NET
Gráfico ASP.NET con datos MySQL de un blog WordPress

Gráfico ASP.NET con datos MySQL de un blog WordPress

Continuamos con la serie de artículos sobre ASP.NET, pero esta vez, vamos a prescindir de SQL Server y aprovecharemos el proveedor de datos MySQL de un BLOG de WordPress, para utilizarla como fuente de datos en un control de servidor “Chart”.

Como siempre, al final del post, encontrarás un link al programa funcional del código que te iremos mostraremos a continuación.

Y te preguntarás ¿qué provecho podemos obtener de la BD de un BLOG para nuestros intereses con ASP.NET?

Eso mismo nos preguntamos nosotros cuando planteamos utilizar ambos sistemas (el framework ASP.NET y la estructura WordPress), y te aseguro que podemos sacar mucho provecho de ello si nos lo proponemos.

En nuestro caso, y a modo de ejemplo, decidimos obtener una simple estadística de los 10 post más leídos del Blog TerapiaConPerros (Centro de asistencia y formación para realizar terapia y actividades asistidas con perros).

Con esa información, obtenida del proveedor de datos MySQL del Blog, pretendemos crear un gráfico estadístico de barras utilizando un control de servidor “Chart”.

Pero mira por donde, al comenzar el proyecto, nos encontramos con una mala noticia y una buena.

La mala: que la estructura original de la Base de Datos que se genera cuando configuramos un tema de WordPress, no contiene ninguna tabla que permita obtener la información que nos interesa.

La buena: que existen infinidad de plugin que al ser instalados, crean las tablas necesarias y las gestiona de forma automática, sin tener que hacer ningún esfuerzo por nuestra parte, más allá de configurar el plugin en cuestión. En nuestro caso hemos utilizado “WordPress Popular Posts”, pero como te digo, hay muchos más…

 

ASP.NET y MySQL

 

El plugin al ser instalado, añade en la BD varias tablas más, y entre ellas, la que vamos a utilizar para el programa: wp_popularpostsdata. Otra tabla, que si es original de la estructura WP y que nos servirá para la finalidad del proyecto será wp_posts.

 

ASP.NET y MySQL

 

Con la ejecución del programa queremos que se muestre un gráfico donde el “eje Y” contenga los títulos de los post más leídos, y el “eje X” los valores, es decir la cantidad de veces que se ha visto cada artículo, tal y como lo muestra la imagen siguiente:

 

ASP.NET y MySQL

Vamos a ello

Como has leído hasta ahora, la cuestión resumida consiste en utilizar dos tablas de la BD MySQL de un BLOG WordPress para obtener una información que alimentará a un control de servidor “Chart”, para mostrar un gráfico estadístico de barras, por lo que habrá que seguir los siguientes pasos:

  1. Utilizar un BLOG del que queramos extraer los post más vistos
  2. Instalar el plugin “WordPress Popular Posts”
  3. Añadir al proyecto la librería “MySql.Data.dll”. Puedes hacerlo desde el administrador de paquetes NuGet, en el menú HERRAMIENTAS/Administrador de paquetes NuGet/Administrar paquetes NuGet para la solución (img. 2)
  4. Crear la cadena de conexión en el fichero web.config
  5. Añadir un control de servidor “Chart”
  6. Enlazar la BD con el control

 

Evidentemente, no obtendremos los resultados de forma inmediata a la instalación del plugin, pues requerirá que pase algo de tiempo para que la BD vaya almacenando información de las visitas al Blog.

 

ASP.NET y MySQL

Img. 2

Diseño y Code behind

Una vez añadida la librería MySql.Data.dell al proyecto, habrá que incluir en el fichero web.config la cadena de conexión con los datos del fichero de datos MySQL.

Fíjate que en el parámetro connectionString, hay que indicar el Servidor, puerto, nombre de la BD, usuario y password

Ejemplo9.aspx

 

Ejemplo9.aspx.vb

 

Como puedes ver en el código anterior, lo que hacemos es generar la conexión con la base de datos MySQL en el evento Page_Load de la página. Creamos una consulta SQL para obtener los 10 primeros registros de los post más leídos.

Utilizamos las tablas wp_popularpostsdatawp_posts. Con la primera, contabilizamos la cantidad de visitas que ha tenido cada post del blog. Para ello, utilizamos el campo pageviews, que va totalizando dichas visitas. Con la segunda, y en concreto con su campo title, obtenemos los títulos de los post, para que nos anuncien el eje Y.

La consulta SQL sería: “SELECT wp_popularpostsdata.pageviews, wp_posts.post_title FROM (wp_popularpostsdata INNER JOIN wp_posts ON wp_popularpostsdata.postid=wp_posts.ID) ORDER BY pageviews DESC LIMIT 10;

Declaramos y creamos dos listas: datosX y datosY, para almacenar la serie de datos que obtenemos del DataReader generado por la consulta SQL. Y le ponemos título al gráfico: “Los 10 post más vistos del blog TerapiaConPerros”

Por último, prevemos la posibilidad de un error en la carga de los datos, y para eso utilizamos la función Alerta(), que ya vimos en el post “alert y confirm mejorados utilizando jQueryUI.Dialog y ASP.NET“, se trata de la clásica función javascript alert(), pero mejorada notablemente. Si no leíste el artículo de como crear la función Alerta(), te aconsejo que lo hagas ahora.

 

….

Ejemplo funcionando: http://siinet.com/tutoriales/ejemplo9.aspx

 

Este es un simple ejemplo de como combinar blog/Web desarrollados con WordPress y ASP.NET. ¡Ahora es cuestión de imaginación el darte utilidad!

Hasta la próxima. Espero que te haya gustado.

Etiquetas: , , , ,

Deja un comentario

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