joins..

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

  • joins..

    hi
    ich habe eine gallery geproggt. jetzt habe ich noch eine comment funktion dazu gemacht, dass jeder user zu den bildern seinen kommentar ablassen kann.

    jetzt will ich, dass gleich bei der übersicht mit den thumbnails da steht, ob das bild kommentiert wurde, und wieviele kommentare es schon gibt..
    ich habs zuerst so versucht:

    SELECT g.dateiname, g.comment, g.id, count(c.id) FROM gallery g INNER JOIN comments c ON (c.pic_id = g.id) WHERE album_id = 18 GROUP BY g.id

    so bekomme ich aber nur die bilder, die einen comment haben. die anderen werden gar nicht angezeigt

    dann hab ichs so versucht:

    SELECT g.dateiname, g.comment, g.id, count(c.id) FROM gallery g JOIN comments c WHERE album_id = 18 GROUP BY g.id ORDER BY g.id

    somit bekomme ich zwar alle bilder, aber count(c.id) ist immer der anzahl der comments insgesamt..
    wie kann ich es also machen, dass ich alle bilder bekomme und zu jedem bild die anzahl der comments?

    mfg
    whizzler

  • #2
    probier mal LEFT JOIN, vielleicht geht's ja dann
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      danke
      klappt..

      hab den unterschied zwischen left, right und inner join wohl immer noch nich verstanden gehabt

      Kommentar


      • #4
        tab1 JOIN tab1


        bei LEFT gilt primär das aus der tab1

        bei RIGHT gilt primär das aus der tab2

        bei INNER muss in beiden was sein.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          wieso nimmst du nicht einfach mysql_num_rows() ?

          Kommentar

          Lädt...
          X