Beiträge: 21
Themen: 9
Registriert seit: 30.11.2005
04.01.2006, 17:35
(Dieser Beitrag wurde zuletzt bearbeitet: 04.01.2006, 17:37 von milemann.)
hi!
gibt es ein (einfaches) tweak wo mann die posts im thread anders sortieren kann - nämlichder der jungster zuerst.
ich dachte erstmal lieber fragen bevor selbst in dem quelcode fummeln ... bin SQLmässig nicht so der held
und grüsse noch
milemann
im abstraktem ereignet sich heute das wesentlichere und das belanglosere im wirklichen - r.musil
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Eine derartige Erweiterung ist mir nicht bekannt. Eigentlich müsstest du doch nur in der showthread.php bei der SQL-Abfrage "ORDER DESC" ändern in "ORDER ASC".
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 1.204
Themen: 17
Registriert seit: 07.08.2005
MyBB-Version: 1.4
jop das stimmt michael
Beiträge: 21
Themen: 9
Registriert seit: 30.11.2005
na ja ...
soviell wuste ich auch blos bei welcher db abfrage .
es sind 21 in der showthread.php datei.
in der auf dem ersten bick entscheidender abfrage sieht es so aus:
zeile 416
PHP-Code:
// Lets get the actual posts
$pfirst = true;
$query = $db->query("SELECT u.*, u.username AS userusername, p.*, f.*, i.path as iconpath, i.name as iconname, eu.username AS editusername FROM ".TABLE_PREFIX."posts p LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid) LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid) LEFT JOIN ".TABLE_PREFIX."icons i ON (i.iid=p.icon) LEFT JOIN ".TABLE_PREFIX."users eu ON (eu.uid=p.edituid) WHERE $pids ORDER BY p.dateline");
while($post = $db->fetch_array($query))
{
if($pfirst && $thread['visible'] == 0)
{
$post['visible'] = 0;
}
$posts .= makepostbit($post);
$post = "";
$pfirst = false;
}
was bedeutet "p.dateline"??
milemann
im abstraktem ereignet sich heute das wesentlichere und das belanglosere im wirklichen - r.musil
Beiträge: 1.204
Themen: 17
Registriert seit: 07.08.2005
MyBB-Version: 1.4
p.dateline ist in diesem fall die abfrage wonach er ordnen soll (jeder post hinterlässt einen timestamp)
also wenn meine mysql / php erfahrungen nich lügen hängste einfach nen ASC an den schluss
wenn es nichts ändert versuche es halt mit DESC
Beiträge: 21
Themen: 9
Registriert seit: 30.11.2005
Samu schrieb:.. versuche es halt mit DESC..
yo es klappt.
Danke.
milemann
im abstraktem ereignet sich heute das wesentlichere und das belanglosere im wirklichen - r.musil
Beiträge: 27
Themen: 8
Registriert seit: 20.03.2007
Dazu hätte ich mal ne Frage. Wenn ich mich jetzt nicht täusche wird die Reihenfolge auf die Art generell geändert, für alle User.
Gibt es auch ne Möglichkeit das so zu lösen das der User für sich selber (z.B. im Benutzer CP) einstellen kann in welcher Reihenfolge die Beiträge erscheinen??
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Nein, diese Möglichkeit gibt es nicht, die Standardsortierung wird vorgegeben. Der Benutzer kann aber die Sortierung ändert, indem er auf die entsprechende Tabellenspaltenüberschrift klickt.
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 11
Themen: 3
Registriert seit: 13.12.2006
Hab das jetzt mal bei Version 1.2.3 ausprobiert.
Klappt aber nicht richtig. Hier habe ich das DESC angehängt:
PHP-Code:
// Get the actual posts from the database here.
$pfirst = true;
$posts = '';
$query = $db->query("
SELECT u.*, u.username AS userusername, p.*, f.*, eu.username AS editusername
FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=p.uid)
LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid)
LEFT JOIN ".TABLE_PREFIX."users eu ON (eu.uid=p.edituid)
WHERE $pids
ORDER BY p.dateline DESC
");
Jetzt werden die Beiträge auch absteigend nach dem Datum sortiert, leider aber nur innerhalb eines Seite.
Das heißt: Bei mir werden pro Seite 10 Beiträge angezeigt, geht das Thema jetzt über mehrere Seiten, sind die Beoiträge auf Seite 2 neuer als die auf Seite 1.
Beispiel:
Beitrag 1 ist vom 6.5., Beitrag 2 vom 4.5 usw... kommt man jetzt auf Seite 2 ist der oben stehende Beitrag vom 8.5. der nächste vom 7.5. usw.
Es wird also nur innerhalb einer Seite die Reihenfolge umgekehrt.
Kann mir jemand helfen?
Gruß
digi
Beiträge: 1
Themen: 0
Registriert seit: 25.05.2007
digimaster schrieb:Hab das jetzt mal bei Version 1.2.3 ausprobiert.
Klappt aber nicht richtig. Hier habe ich das DESC angehängt:
Habe es mit der 1.27 probiert, es geht. Ich schätz mit der 1.23 dann auch...
Du musst zusätzlich ein paar Zeilen vorher ebenfalls ein DESC in die Abfrage einfügen (in der 1.27 ist das Zeile 680):
// Lets get the pids of the posts on this page.
$pids = "";
$comma = '';
$query = $db->simple_select(TABLE_PREFIX."posts p", "p.pid", "p.tid='$tid' $visible", array('order_by' => 'p.dateline DESC', 'limit_start' => $start, 'limit' => $perpage));
Da wie zu sehen das DESC einfügen, dann klappts auch über mehrere Seiten.
Wolfgang