SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 08.07.2003, 10:58:29
tapferesschneid tapferesschneid ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 194
GROUP BY mit jeweils MAX()

In meinem YaBBSE-Forum gibt es in Recent.php eine Funktion LastPostings(). Diese zeigt die letzten $showlatestcount Beiträge an. Das funktioniert auch.

Jetzt möchte ich die Abfrage so verändern, daß nur der jeweils neueste Beitrag zu einem Thema angezeigt wird. Mein Versuch mit »GROUP BY m.ID_TOPIC« (s. u.) führt dazu, daß jeweils der erste Beitrag eines Themas angezeigt wird.

Weiß jemand, wie ich die Abfrage verändern muß? Kann irgendwo ein »MAX(m.posterTime)« rein? Wo? ...


PHP-Code:
mysql_query     ("
                SELECT m.posterTime, m.subject, m.ID_TOPIC, m.posterName,
                m.ID_MEMBER, IFNULL(mem.realName, m.posterName) AS posterDisplayName,
                t.numReplies, t.ID_BOARD, t.ID_FIRST_MSG, b.name AS bName

                FROM {$db_prefix}messages AS m, {$db_prefix}topics AS t,
                {$db_prefix}boards AS b, {$db_prefix}categories AS c

                LEFT JOIN {$db_prefix}members AS mem ON (mem.ID_MEMBER=m.ID_MEMBER)

                WHERE m.ID_MSG IN (" 
implode(','$messages) . ")
                AND t.ID_TOPIC=m.ID_TOPIC
                AND b.ID_BOARD=t.ID_BOARD
                AND c.ID_CAT=b.ID_CAT
                AND (FIND_IN_SET('$settings[7]', c.memberGroups) != 0
                OR c.memberGroups='' OR '$settings[7]' LIKE 'Administrator'
                OR '$settings[7]' LIKE 'Global Moderator')
                "
.
                
"
                GROUP BY m.ID_TOPIC
                "
.
                
"
                ORDER BY m.posterTime DESC
                LIMIT 0, $showlatestcount;
                "
); 
Mit Zitat antworten
  #2  
Alt 08.07.2003, 11:04:47
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 50
Beiträge: 4.748
Einfach abwärts nach dem Datum sortieren: SELECT .... ORDER BY datum DESC LIMIT 1
--> Der älteste Beitrag wird rausgefischt. Musst halt noch dafür sorgen, dass es der Beitrag zu jedem Thema ist.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 08.07.2003, 11:13:47
tapferesschneid tapferesschneid ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 194
Abwärts sortieren mache ich doch schon mit ORDER BY m.posterTime DESC

Dummerweise wird durch mein eingefügtes GROUP BY m.ID_TOPIC schon vorm Sortieren (nehme ich an) der älteste Beitrag rausgefischt.
Mit Zitat antworten
  #4  
Alt 08.07.2003, 11:22:21
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 50
Beiträge: 4.748
hm.... Dann versuch es mal, in dem Du das 'MAX(m.posterTime) AS max_time' bei SELECT hinzufügst. Allerdings müssten dann wohl noch ein paar Felder mehr bei GROUP BY angegeben werden.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:03:31 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.


© 2001-2020 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt