Como crear un sencillo sistema de Tags o Etiquetas con PHP y MySQL

Últmamente se están poniendo de moda las Folcsonomias, que son una nueva forma de categorizar conjuntamente con más personas y que es utilizado por servicios tan populares como Delicious y Flickr entre otros.

Yo para no ser menos que éstos dos servicios quería implementarlo en GuGara.com y NiNaiz.com tanto para las imágenes como para el Wiki que próximamente aparecerá.

Al final quedaría de ésta manera:

antipena aragon arguelles asturies bilbao burgos chiapas donostia elektronikoak forosguays
galiza
iturrama jalmoa paislliones

Para ello me fue tremendamente util la función de PHP ksort


$sql = "select num, textotag from tag order by num DESC";
$res = mysql_query($sql);
while ($reg = mysql_fetch_array($res)) {
if ($i==1) {
$maxtag = $reg["num"];
$salida[$reg["textotag"]] = "<span style=\"font-size: 2em;\">". $reg["textotag"] ."</span$gt; ";
}
else {
$fontsize = ((2*$reg["num"])/$maxtag);
if ($fontsize <= 1) $fontsize=1;
$salida[$reg["tag"]] = "<span style=\"font-size: ". $fontsize ."em;\"><a href=\"/tag/". $reg["textotag"]) ."\">". $reg["textotag"] ."</a></span> ";
}
$i++;
}
ksort($salida);
foreach ($salida as $value) {
echo $value;
}

PHP es sencillo, es util, es libre.

Esta entrada fue publicada en Software Libre, Trucos. Guarda el enlace permanente.

6 respuestas a Como crear un sencillo sistema de Tags o Etiquetas con PHP y MySQL

  1. novato dijo:

    Muy interesante el scriptm y gracias por que estaba buscando eso mismo, la unica duda que tengo es que como un usuario podria añadir tags a la base de datos de un formulario, si son mas de una palabra o una palabra compuetsa, gracias de anttemano por todo

  2. Juanfra dijo:

    Estas usando la cantidad de apariciones del tag con respecto a que??
    como trabajas el esquema de db??

  3. deif dijo:

    hola, estaria bueno que muestre el codigo de como metes los tags en la db…saludos!

  4. freddy dijo:

    Me parece excelente y me servira de mucha, lo hare y pondre en mi web.

  5. Lo voy a probar gracias por el codigo, lo he estado buscando jejejeje

  6. Marko dijo:

    Apoyo la moción de los demás. Que se muestre el esquema de la tabla de las tags. Espero (esto lo digo como consejo), que no se viole la norma relacional de entidad-relación de la estructuración de una base de datos del tipo relacional. Con esto quiero decir que no se recurra a campos multivaluados del tipo 1,2,3,4 ó palabra1, palabra2, palabra3, palabra4, etc. Saludos!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s