2010-12-22 5 views
0

Je crée actuellement un nuage de tags qui affiche actuellement le tag en fonction de son poids, c'est-à-dire la fréquence à laquelle il a été utilisé pour marquer des articles.nuage de tags basé sur weight/order_id

Maintenant, j'ai aussi, dans la section administration, où je peux gérer les balises, la possibilité de déplacer les balises de haut en bas (en utilisant un champ order_id). Cela signifie que j'ai besoin d'une solution, où les balises seront non seulement listées en termes de poids, mais aussi par order_id.

Est-ce possible?

+0

Le poids sera ajouté à l'identifiant de la commande? Ou a-t-on une préséance supérieure sur l'autre? –

+0

oui, c'est possible, bien que personne ici ne sache exactement ce que vous avez en main .. – yoda

+0

Eh bien j'ai 3 tables, contenu, content_tags et tables de tags, dans la table content_tags est une liste de content_ids et tag_ids. J'ai juste besoin de faire une boucle, afficher la balise et ensuite commander par le nombre de balises et aussi par le champ order_id dans les balises – terrid25

Répondre

0
SELECT ... COUNT(*) AS `weight`, ... ORDER BY order_id, weight 

Vous pouvez spécifier plusieurs expressions dans une clause ORDER BY. Ceci sera commandé d'abord par la colonne order_id spécifiée par l'utilisateur, puis par toutes les variables ayant des valeurs order_id égales, par leur poids.

+0

select tag.tag, count (*) comme poids de content_item_tag, tag où content_item_tag.tag_id = tag. id group by content_item_tag.tag_id ordre par poids DESC, tag.ord_id ASC - cela semble fonctionner, maintenant pour entrer dans Propel .. – terrid25

Questions connexes