Ankündigung

Einklappen
Keine Ankündigung bisher.

Top N einer Gruppe auselsen

Einklappen

Neue Werbung 2019

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

  • Top N einer Gruppe auselsen

    Hallo,

    Ich hab 3 Tabellen, 1. User 2. Kommentare 3. Artikel jetzt möchte ich zu jedem Artikel die 3 neusten Kommentare auslesen, also quasi so ähnlich wie die Facebook wall, hab schon länger im Internet gesucht, aber hab nichts passendes gefunden, eigentlich dachte ich habs aber dann hab ich festegestellt das es nicht das ausliest was ich möchte.

    Company_Cat = Artikel ID

    PHP-Code:
    $sql 'select normal_comment.ID,
                   normal_comment.UserID,               
                   ID,
                   Content,
                   normal_comment.Vote,
                   user.Username,
                   user.Sex               
                   FROM               
    normal_comment
    LEFT JOIN
    user
    ON
    normal_comment.UserID = user.ID
    LEFT JOIN
    normal_user
    ON
    normal_user.ID = ?
    AND
    normal_user.Company_Cat = ?
    where (
       select count(*) from normal_comment as f
       where f.ID = normal_comment.ID and f.date > normal_comment.date  
    ) <= 3
    ORDER by normal_comment.date DESC
    LIMIT '
    .$limit_from.', '.$limit;
    Die ? sind Variabeln (Prepared Statement)

    Kann mir jemand auf die Sprünge helfen?

  • #2
    Was für häßlicher Code. Wenn Du mal formatieren würdest, sähest Du vielleicht auch durch.
    So z.B.
    PHP-Code:
    'SELECT      nc.ID        ,
                 nc.UserID    ,
                 ID           ,
                 Content      ,
                 nc.Vote      ,
                 u.Username   ,
                 u.Sex
    FROM         normal_comment      AS nc
      LEFT JOIN  user                AS u
             ON  nc.UserID = u.ID
      LEFT JOIN  normal_user         AS nu
             ON  nu.ID = ?
                 AND nu.Company_Cat = ?
    WHERE        (
                   SELECT   count(*)
                   FROM     normal_comment as f
                   WHERE    f.ID = nc.ID
                            AND f.date > nc.date
                 ) <= 3
    ORDER BY     nc.date DESC
    LIMIT        ' 
    $limit_from ', ' $limit
    Das LIMIT gehört ins innere Select, Count <=3 ist Quark.
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar

    Lädt...
    X