hallo,
grund für meine überlegung ist eine tagcloud.
ich habe eine tabelle mit tags, eine mit posts und eine unendlich zu unendlich relationstabelle zwischen diesen.
ich möchte nun, erreichen, dass auf einer detailseite die tags der aktuellen seite "ausgegeben" werden, daraufhin wird geprüft welcher beitrag gleiche tags verwendet, falls noch nicht genug tags gefunden wurden sind, werden diese tags dem select hinzugefügt, dies soll rekrusiv (maximal anzahl der ebenen) geschehen.
meine idee war, einfach die temporäre tabelle wieder und wieder zu überschreiben, ist soetwas überhaupt möglich? gibt es sinnvollere ansätze?
grund für meine überlegung ist eine tagcloud.
ich habe eine tabelle mit tags, eine mit posts und eine unendlich zu unendlich relationstabelle zwischen diesen.
ich möchte nun, erreichen, dass auf einer detailseite die tags der aktuellen seite "ausgegeben" werden, daraufhin wird geprüft welcher beitrag gleiche tags verwendet, falls noch nicht genug tags gefunden wurden sind, werden diese tags dem select hinzugefügt, dies soll rekrusiv (maximal anzahl der ebenen) geschehen.
Code:
SELECT blog_tags.id AS tmpTbl FROM blog_tags JOIN blogposts_blogtags ON blogposts_blogtags.blogtags_id = blog_tags.id WHERE blogposts_blogtags.blogposts_id = inPostId; WHILE i < maxRounds OR (tmpFriends - 1) > tmpMaxTags DO SELECT tmpTbl.* FROM ( SELECT blog_tags.id AS id FROM tmpTbl JOIN blogposts_blogtags ON blogposts_blogtags.blogtags_id = blog_tags.id WHERE blogposts_blogtags.blogposts_id IN tmpTbl ) AS tmpTbl JOIN blogposts_blogtags ON blogposts_blogtags.blogtags_id = tmpTbl.id WHERE blogposts_blogtags.blogposts_id IN tmpTbl.id; SET i = i + 1; END WHILE;
Kommentar