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 > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 27.07.2010, 00:13:27
Benutzerbild von Oskar
Oskar Oskar ist offline
Anfänger
 
Registriert seit: Apr 2008
Alter: 57
Beiträge: 92
Sortierung einer Inner Join Abfrage mit Group By Klausel

Guten abend allerseits,

ich bin gerade dabei ein kleines Forum zu basteln und hänge jetzt an einer Sortierung fest.

Ich versuche auf einer Übersichtsseite den letzten geschriebenen Beitrag ganz nach oben zu bringen.

Ich habe eine Tabelle mit den Spalten:

ThemaID = Nummer des Themas (Hauptüberschrift)
BeitragsID = Nummer des ersten Beitrages und aller darauffolgenden Antworten
DatumID = Timestamp wann der jeweilige Beitrag bzw. Antwort geschrieben wurde

siehe Anlage Tabelle.gif zur Veranschaulichung

Die Abfrage geschieht folgendermaßen:

PHP-Code:
//Abfrage DB Forum mit neuestem Eintrag
       
$beitrag="SELECT Forum.ThemaID, Forum.DatumID, Forum.BenutzerID, Forum.BeitragsID, Forum.Ueberschrift, Mitspieler.BenutzerID, Mitspieler.Name, Mitspieler.Vorname
                 FROM `Forum`
                 INNER JOIN `Mitspieler` ON Forum.BenutzerID=Mitspieler.BenutzerID
                 WHERE Forum.ThemaID=$ThemaID
                 GROUP BY Forum.BeitragsID
                 ORDER BY Forum.DatumID DESC LIMIT $start,$end"
                 
or die (include ("../admin/error_report.php"));
        
$ergbeitrag=mysql_query($beitrag)
        or die (include (
"../admin/error_report.php"));
        while (
$databeitrag=mysql_fetch_assoc($ergbeitrag)) { 
Leider wird bei dieser Abfrage die DatumID des ersten geschriebenen Beitrags ausgewertet und ganz nach oben gesetzt. Ich benötige aber die letzte Antwort auf einen Beitrag ganz oben in meiner Tabelle.

Wie kann ich auf die letzte Antwort zugreifen?

Hätte jemand einen hilfreichen Lösungsvorschlag für mich?

Im voraus vielen Dank

PS. Bitte keine Links zu englischsprachigen Dokumentationen, da mein Englisch dafür nicht taugt.
Miniaturansicht angehängter Grafiken
Spieltag.gif   Tabelle.gif   Verein.gif  
__________________
Ceterum censeo Carthaginem esse delendam

Geändert von Oskar (27.07.2010 um 00:14:54 Uhr) Grund: Schreibfehlerteufelhatzugeschlagen
Mit Zitat antworten
  #2  
Alt 31.08.2010, 22:56:29
thomas_w thomas_w ist offline
Junior Member
 
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
AW: Sortierung einer Inner Join Abfrage mit Group By Klausel

In welcher Spalte steht den die "letzte Antwort" ?

Bei dem SQL läuft bezüglich dem GROUP BY was schief...Alle Spalten ausser denen im GROUP BY müßten eigentlich als Aggregat abgefragen werden - siehe MAX(). (Leider erlaubt MySQL diese 'falsche' GROUP BY Verwendung ohne Aggregat).

Code:
SELECT MAX(Forum.ThemaID), MAX(Forum.DatumID), MAX(Forum.BenutzerID), Forum.BeitragsID, MAX(Forum.Ueberschrift), MAX(Mitspieler.BenutzerID), MAX(Mitspieler.Name), MAX(Mitspieler.Vorname)
                 FROM `Forum`
                 INNER JOIN `Mitspieler` ON Forum.BenutzerID=Mitspieler.BenutzerID
                 WHERE Forum.ThemaID=$ThemaID
                 GROUP BY Forum.BeitragsID
                 ORDER BY Forum.DatumID DESC LIMIT $start,$end
Was kommt nun raus..? (habe es nicht laufen lassen, hoffe es ist kein Syntaxfehler drin)

Grüße
Thomas
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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Performance von INNER JOIN Abfrage erhöhen - Vorschläge? Timbob MySQLi/PDO/(MySQL) 4 05.03.2009 09:29:18
INNER JOIN, GROUP BY und ... schwer zu erklären abyss MySQLi/PDO/(MySQL) 2 15.06.2008 10:38:22
4 Tabellen verknüpfen - INNER, OUTER und LEFT Join Franzx MySQLi/PDO/(MySQL) 0 13.11.2006 11:10:51
Performance bei Abfrage inner join Tikiwiki MySQLi/PDO/(MySQL) 7 21.02.2006 09:46:50
SQL Abfrage (INNER JOIN) AlexWeber MySQLi/PDO/(MySQL) 6 08.10.2003 10:10:39


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:07:34 Uhr.


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


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