Si Puedo, una utopia

Saltar al contenido
Si Puedo

Drupal »

Seleccionar los registros más repetidos [MySQL]

Publicado el Jueves 2 Octubre 2008

Este más que un post, es para acordarme como lo he hecho ;)

Para Doble Pletina estoy creando un modulo (buscacintas <- ¿muy original no?) para hacer busquedas en youtube y poder crearte nodos con ellas (lo liberaré si a alguien le interesa ;) ) El funcionamiento, por ahora, es correcto, bueno aún tengo algunos problemas con la paginación y con la duración de los videos que estoy intentando solucionar :P
Cada vez le estoy añadiendo má funcionalidades y esta última me parece que se puede usar en otros sitios:
Primero, crear el bloque

$block_content ='';
$block['subject'] = 'Canciones más grabadas';

Lo principal, la llamada a MySQL que hace todo ;)

$llamada = db_query(&quot;SELECT *, COUNT(*) as num FROM content_type_cancion GROUP BY field_youtube_value ORDER BY num DESC LIMIT 0 , 3&quot;);

content_type_cancion es un CCK que almacena las canciones y uno de los campos, esta claro, es el id de youtube llamado field_youtube_value

Ahora solo no queda recorrer $llamada y tomar los valores necesarios para crear el contenido del bloque y listo, ordenados por el video de youtube más repetido ;)

$id = 0;
while ($canciones = db_fetch_object($llamada)) {
$items[] = $canciones;
$salida.='<div class="repe">';
$titulo = db_result(db_query("SELECT title FROM {node} WHERE nid = '%s'",$items[$id]->vid));
$salida.='<a href="/node/'.$items[$id]->vid.'" title="'.$titulo.'">';
$salida.='<img align="left" width="54" hspace="7" height="40" src="http://img.youtube.com/vi/'.$items[$id]->field_youtube_value.'/2.jpg"/>'.$titulo.'</a></div>';
$id++;
}
$block['content'] = $salida;
return $block;

Dejar un comentario

El contenido este blog está bajo licencia Creative Commons (Reconocimiento - Compartir igual) - desarrollo javiermaties.com