Denkanstoss (Gruppen in Gruppen)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Denkanstoss (Gruppen in Gruppen)

    Ich bräuchte mal ein Denkanstoss über ein Gruppenmanagment..
    Realisiert werden soll folgendes :

    ich habe z.B.
    Gruppe A
    Gruppe B
    Gruppe C
    Gruppe D
    ---------------------
    Gruppe A enthällt Nur A's
    Gruppe B enthällt Nur B's
    Gruppe C enthällt C's und alles aus Gruppe B
    Gruppe D enthällt Gruppe C die ja auf wiederrum Gruppe B enthällt und hat noch seine eigenen D's
    ---------------------------------------------------------

    Hoffe ihr könnt mir eventuell nen Denkanstoss geben wie ich das mit PHP / MySQL realisieren könnte.

    Wuste nicht direkt ob es unter Mysql gehört oder PHP

    Danke im Vorraus

  • #2
    Was sind A's, was sind B's? User?

    Hört sich für mich jetzt nach ner Tabelle mit den Gruppenmitgliedern an, in der jedes Mitglied eine ID hat. Diese IDs speicherst du dann in eine Gruppentabelle mit ihrer Gruppenzugehörigkeit.

    Also z.B.

    Users:
    1 UserA
    2 UserB
    3 UserC

    Groups:
    1 2
    2 3
    3 1

    Kommentar


    • #3
      Und eine weitere Tabelle, in der du Gruppenzuordnungen ablegst. Diese musst du anschließend per Hand zusammenordnen, per MySQL geht das ohne Funktionen oder Prozeduren nicht unendlich tief verschachtelt!

      Kommentar


      • #4
        und da liegt glaube ich auch der Hase im Pfeffer .
        ich möchte das schon bis sagen wir mal 100 Verschachtelungen inner halb einer Gruppe..

        @lennart
        was A's und was B's sind ist doch völlig wurscht
        ob es Karotten oder Äpfel sind oder Benutzer
        Wichtig ist das es eine Gruppe ist und in der noch eine Gruppe gibt die wiederrum noch eine Gruppe hat usw.

        Kommentar


        • #5
          Re: Denkanstoss (Gruppen in Gruppen)

          Original geschrieben von Postaria
          Hoffe ihr könnt mir eventuell nen Denkanstoss geben wie ich das mit PHP / MySQL realisieren könnte.
          Daraus wird natürlich nicht ersichtlich, was du realisieren willst. Wenn du eine Tabellenstruktur suchst:
          Code:
          gruppen-id | obergruppe | bezeichnung | ...
          das würde dann in deinem Fall folgende Werte ergeben
          Code:
          A | NULL | ... | ...
          B | C    | ... | ...
          C | D    | ... | ...
          D | NULL | ... | ...
          Oder einen Array:
          Code:
          array(2) {
            [0]=>
            string(1) "A"
            [1]=>
            array(2) {
              [0]=>
              string(1) "D"
              [1]=>
              array(2) {
                [0]=>
                string(1) "C"
                [1]=>
                array(1) {
                  [0]=>
                  string(1) "B"
                }
              }
            }
          }
          Gruss
          H2O

          Kommentar


          • #6
            Klingt nach einer leicht abgewandelten Form von "nested set" *zuck*

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              ja so ungefähr will ich das realisieren nur hast du (H2O) in diesem Denkanstoss nicht drinne das es eine Gruppe eventuell mehrere Obergruppen hat ?

              Kommentar


              • #8
                Original geschrieben von Postaria
                ja so ungefähr will ich das realisieren nur hast du (H2O) in diesem Denkanstoss nicht drinne das es eine Gruppe eventuell mehrere Obergruppen hat ?
                Dann musst du die n:n-Beziehung mit einer zweiten Tabelle auflösen.
                In der ersten sind dann nur noch id und die gruppenspezifischen Daten, und die Beziehungstabelle besteht nur aus Gruppen-Id und Obergruppen-Id. Wenn jetzt Gruppe C zusätzlich noch in einer Gruppe G ist:
                Code:
                GRP | OG
                --------
                B   | C 
                C   | D 
                C   | G
                In dieser Tabelle sind natürlich nur noch Gruppen, die auch Obergruppen haben, aufgeführt.
                Gruss
                H2O

                Kommentar


                • #9
                  jap so ists recht danke für die Denkhilfe besonders an H2O

                  Kommentar

                  Lädt...
                  X