Dynamische Tagcloud

  • Salut,

    in einer Tabelle habe ich ein Feld TAGS, das die mit einem Blog assoziierten Tags durch Leerzeichen getrennt enthält, also z.B.

    privat familie weihnachten fest

    Nun möchte ich dem Benutzer die Möglichkeit geben, sich durch Zusammenstellung einer Tag-Liste die Blog-Einträge zu filtern.

    Also der Benutzer klickt nacheinander auf

    privat -> nur private Einträge
    + familie -> nur private Einträge bzgl. Familie
    + weihnachten -> nur private Einträge bzgl. Familie bzgl. Weihnachten
    ...

    Das zu realisieren bereitet mir keine Probleme, allerdings möchte ich in der jeweils aktuellen Tagcloud nur noch die Tags anschauen, die in den Einträgen der aktuellen Tagauswahl vorkommen. D.h. Tags, die nicht in mindestens einem der Einträge, die die aktuellen Tags erfüllen, vorkommen, sollen weggelassen werden.
    Dies könnte ich in PHP realisieren, wenn ich mir von der MySQL-DB jedes mal alle Einträge zurückgeben lassen würde und dann im PHP-Skript die Einträge rausfiltere, die die aktuellen Tags enthalten.

    Das ist aber nicht besonders performant. Gibt es eine Möglichkeit, sich von der MySQL-DB
    + die ersten 10 Einträge, die die Tags enthalten, zurückgeben zu lassen und
    + zusätzlich z.B. die einzelnen TAG-Felder aller Einträge (also auch der weiteren, die die Tags enthalten), die die aktuellen Tags enthalten, konkateniert zurückgeben zu lassen?

    In einer DB-Abfrage wird das wohl nicht möglich sein, aber wie implementiere ich das am besten und performantesten?


    Danke im Voraus,

    Stefan