neueste Einträge anzeigen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
antwort
anzeigen
arbeiten
bedingung
begrenzung
code
dank
datum
design
ergebnis
fisch
frage
helfen
kleines forum
krieg
limit
ordern
spalten
tabelle
-
Hallo
Ich möchte mir ein kleines Forum proggen. Meine Frage ist jetzt: wie kriege ich es hin, die neuesten Beiträge anzuzeigen, ohne das ein Thread doppelt vorkommt?? Bsp.: userx und usery schreiben nacheinander in den Thread frage eine Antwort. Jetzt soll aber nur angezeigt werden, das usery eine Antwort geschrieben hat, weil der nach x geschrieben hat. Da soll jetzt aber nicht stehen: userx hat beitrag in frage geschrieben, usery hat beitrag in frage geschrieben. Halt so wie bei Lima. Kann mir da einer helfen??
Danke im Vorraus
telelo -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Gehe doch einfach mit einem SQL-Befehl nach dem letzten Datum (besser Timestamp)
SELECT beitrag, MAX(timestamp), etc... FROM tables WHERE Bedingung;
Wobei ein Timestamp sich auch ändert, wenn der Beitrag editiert wird. Bräuchtest also ein Beitragsdatum, mit welchem dann gearbeitet wird.
Beitrag zuletzt geändert: 18.8.2009 12:55:57 von karpfen -
könnte auch so gehen:
SELECT DISTINCT beitrag, thread FROM tables WHERE Bedingung ORDER BY timestamp desc #oder auch mit LIMIT 1 arbeiten
..oder so ähnlich^^
Beitrag zuletzt geändert: 18.8.2009 13:15:18 von myhead -
Hi,
generell sollte es in den Tabellen eine "created" und "changed" Spalte geben. Damit kann man dann nach Beitragserstelldatum (created) bzw. Beitagsänderungsdatum (changed) sortieren und die jeweiligen Threads dann ausgeben.
Grüßle -
Moin!
telelo schrieb:
Ich möchte mir ein kleines Forum proggen. Meine Frage ist jetzt: wie kriege ich es hin, die neuesten Beiträge anzuzeigen, ohne das ein Thread doppelt vorkommt??
Nutz nicht die Beitrags- sondern die Thementabelle und laß von jedem Thread nur den letzten Beitrag anzeigen. Eventuell noch eine Begrenzung Alter des Beitrags und fertig.
FF -
Danke für die Hilfe myheads Methode funktioniert wunderbar, die vom Fisch hab ich noch nicht ausprobiert!
telelo
Edit: So sieht das jetzt bei mir aus:
<?php include "menu.inc.php"; ?> <table border="1" cellspacing="0"> <tr><th>Neueste Beiträge</th></tr> <?php include "mysql.inc.php"; $abfrage = "SELECT DISTINCT id, thread FROM forum_beiträge ORDER BY timestamp desc"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { echo "<tr><td><b><a href=\"forum.php?thread=$row->thread\">$row->thread</a></b><br><small></td></tr>"; } ?> </table>
Wenn ich jetzt allerdings auch die Zeit und den User anzeigen lasse, zeigt er mir wieder von jedem User den Beitrag und nicht nur den neusten. Wie krieg ich das dann hin?
Beitrag zuletzt geändert: 18.8.2009 15:24:09 von telelo -
Eine Threadtabelle gibt es auch? Wenn ja, dort die ID des jeweils letzten Beitrags hinterlegen und bei Bedarf dann abfragen.
FF -
Ah Super danke für den Tipp klar gibts auch ne Threadtabelle wollte ich jetzt nur nicht auch hinschreiben, xampps pma ist soo lahm!
telelo -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage