Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Nube de etiquetas a partir de una base de datos


Pasamos a crear la nube de etiquetas a partir de los datos almacenados en una base de datos.


28/2/08 - Este artículo es una mejora del anterior Código PHP de la nube de etiquetas, ya que vamos a construir igualmente la nube pero esta vez sacando los datos de una base de datos mysql.

Para empezar os dejo una posible estructura de las tablas que vamos a utilizar para almacenar los datos de las etiquetas que vamos a mostrar en la nube.

Tendriamos una tabla con los datos principales de la etiqueta, como son el id_etiqueta, nombre_etiqueta, nombre_logico, descripción_etiqueta y el número de apariciones de la etiqueta que se aumenta cada vez que se visualiza (apariciones).

Como en al artículo anterior tenemos que crear un array asociativo con el nombre de las etiquetas y su número de apariciones.

$ssql_etiquetas="select nombre_etiqueta, id_etiqueta , apariciones from etiqueta";
$rs_etiquetas=mysql_query($ssql_etiquetas);
//Creo un array para meter los datos de las etiquetas
$etiquetas = array();
while($fila_etiquetas=mysql_fetch_object($rs_etiquetas)){
   //Voy creando el array asociativo
   $etiquetas[$fila_etiquetas->nombre_etiqueta]=$fila_etiquetas->apariciones;
}


Con esto ya tendríamos nuestro array asociativos creado a partir de la base de datos. Este ejemplo es bastante simple siempre y cuando almacenemos los datos de las apariciones en la misma tabla, pero lo normal es que tengamos varias tablas, una con los datos de las etiquetas, otra con los datos de los artículos y otra que relacione ambas y de ahí sacaríamos el número de veces que aparece dicha etiqueta, para este caso el código cambiaria, y sería el siguiente;

Lo primero seria definir las tablas que vamos a utilizar.

La de etiqueta seria la misma pero quitando el campo de apariciones.

Luego tendríamos una tabla con los datos de los artículos, en la cual no me meto mucho ya que solo me interesa su clave primaria que vamos a llamar id_articulo.

Y por ultimo una tabla que relacione las dos anteriores llamada articulo_etiqueta con un campo llamado id_etiqueta y otro id_articulo donde la clave primaria seria la fusión de ambas.

Una vez definadas las tablas el código quedaría asi:

$ssql_etiquetas="select nombre_etiqueta, etiqueta.id_etiqueta from etiqueta, articulo, articulo_etiqueta where etiqueta.id_etiqueta=articulo_etiqueta.id_etiqueta and articulo.id_articulo=articulo_etiqueta.id_articulo";
}
$rs_etiquetas=mysql_query($ssql_etiquetas);
//Creo un array para meter los datos de las etiquetas
$etiquetas = array();
//Para cada etiqueta averiguo cuantas veces aparece en los articulos
while($fila_etiquetas=mysql_fetch_object($rs_etiquetas)){
   $ssql_cuantos="select count(id_etiqueta) as cuantos from articulo_etiqueta where id_etiqueta=".$fila_etiquetas->id_etiqueta." order by cuantos desc limit 20";
   $rs_cuantos=mysql_query($ssql_cuantos);
   $fila_cuantos=mysql_fetch_object($rs_cuantos);
   //Voy creando el array asociativo
   $etiquetas[$fila_etiquetas->nombre_etiqueta]=$fila_cuantos->cuantos;
}


Por lo demás el resto de código para la generación de la nube es el mismo que tenemos en el artículo Código PHP de la nube de etiquetas.

En próximos artículos mejoraremos aun más la nube de etiquetas añadiendo enlaces en los nombres de las etiquetas.

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 1 categoria relacionada
+ 1 comentario no revisado

 Autoría, licencia y acciones sobre este artículo

Informe de Sara Alvarez*
Equipo DesarrolloWeb.com
URL: http://www.desarrolloweb.com

Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Nubes de etiquetas en PHP

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en PHP


 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se ha encontrado un comentario sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
Añadir un comentario al artículo Añadir un comentario del artículo



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Nubes de etiquetas en PHP
Categorías
+PHP

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia