auslesen was nicht da ist?

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

  • auslesen was nicht da ist?

    Hi habe ein kleineres problem das ich besser lösen möchte!

    ich habe folgenden code:

    $result = mysql_query("SELECT gid, uid from user_groups WHERE uid != '2'");
    $anzahl = mysql_num_rows($result);

    for ($i = 1; $i <= $anzahl; $i++) {
    $gruppen = mysql_fetch_array($result);

    $result2 = mysql_query("SELECT gid, name from groups where gid = '$gruppen[gid]'");
    $gruppen2 = mysql_fetch_array($result2);
    }

    dieser ließt aus der usergroups tabelle alle zeilen aus die nicht die uid =2 haben! allerdings hab ich hier noch das problem das dies durchaus mehr sein können! ich brauche aber eigentlich nur die GID je einmal wo es die uid = 2 nicht gibt! die tabellen sehen so aus:

    GROUPS
    GID, NAME, OPTIONEN
    1, User, 0
    2, Admin, 1
    3, VIP, 2

    USER_GROUPS
    GID, UID
    1, 2
    1, 5
    1, 8
    1, 24
    2, 2
    3, 5
    3, 8

    also mein script soll nach dem auslesen die GID und NAME von GROUPS wieder geben! Von den gruppen in den es keine UID = 2 in USER_GROUPS gibt! also in meinem beispiel wären das die GID: 3;

    Gruß und dank im vorraus
    Sascha

  • #2
    PHP-Code:
    select G.GIDG.NAMEG.OPTION from USER_GROUPS U left_join GROUPS G USING (GIDwhere U.uid != 2 group by G.GID 
    probier mal, aber bitte mit mysql_error()

    Kommentar


    • #3
      danke für die schnelle antwort:

      also gut es funktioniert soweit das ich die inhalte erhalte die in user_groups bereits abgelegt sind!

      aber ich brauche noch die gruppen die in GROUPS abgelegt sind und in USER_GROUPS keinen zugehörigen eintrag haben!

      geht das?

      Kommentar


      • #4
        wird schwierig, kann sein, dass in einer abfrage geht ... muss aber nicht.

        problem ist, dass du einen GROUP eintrag haben willst, für den es in USER_GROUP keinen korrespondierenden eintrag gibt. also kann der JOIN nicht stattfinden. ergo kriegst du diesen GROUP eintrag auch nicht.

        Solche Abfragen widersprechen aber auch dem Sinn von verknüpften Tabellen.
        Zuletzt geändert von graf; 01.07.2003, 14:02.

        Kommentar


        • #5
          warum wiederspricht das das verstehe ich jetzt nicht!

          ich möchte doch einfach nur wissen welche user in welchen gruppen nicht sind!

          Kommentar


          • #6
            Original geschrieben von brainwave
            aber ich brauche noch die gruppen die in GROUPS abgelegt sind und in USER_GROUPS keinen zugehörigen eintrag haben!
            DAS widerspricht dem.
            Es ist dann keine 1:n (n>0) Beziehung mehr. Wenn es diese Beziehung nicht gibt, kann ich auch keine Abfrage ausführen, die das "vorgaukeln" würde.

            Kommentar


            • #7
              ähm? ah ja gut!

              ich werds jetzt erstmal so lassen! vielleicht check ichs ja nachdem ich meine neue 1200 seiten mysql-bibel durchgelesen hab!

              danke trotzdem!

              Kommentar

              Lädt...
              X