Administra tu Blog

¡Crea tu Blog Ya! Fácil y Gratis Píde la luna en Zebehar

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.


Meneame | del.icio.us

Comentarios(3) »

  1. novato — 14-12-2006 - 10:15:05 GMT 1

    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 — 08-06-2007 - 23:57:10 GMT 1

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

  3. deif — 11-06-2007 - 01:06:55 GMT 1

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

TrackBack URI

Dejar un Comentario


<a href> <em> <blockquote> <strong> <cite> <code> <ul> <li> <dl> <dt> <dd>