Neuigkeiten:

still alive...

Hauptmenü

Reihenfolge der Posts umkehren

Begonnen von michael1982, 03. Juli 2007, 09:17:20

Vorheriges Thema - Nächstes Thema

michael1982

Hallo,
ich hätte da mal ne Frage. Ist es möglich, dass in einem Threat die neuen Posts ganz oben stehen und die ältesten ganz unten?
Wenn ja wie geht das?
Gruß Michael1982

Powie

auf normalen Weg nicht....  man könnte dies aber \"umdrehen\", dazu müsste man die showthread.php modifizieren.
Wozu soll das dienen?

michael1982

Nutzer meines Forums fänden es besser, wenn die neuen Einträge gleich oben zu finden sind und man nicht erst alles durchscrollen muss. Ich persönlich sehe die Reihenfolge so wie sie ist auch als besser an, aber was tut man nicht alles für den zufriedenen Entnutzer.
Kann mir jemand helfen, wie man die Showthread.php überarbeiten müsste?
Gruß Michael1982

k00ni

Hallo,
wenn ich mich nicht irre, musst du nur die SQL-Abfrage anpassen. Und zwar kann man dort angeben, ob die Datensätze absteigend oder aufsteigend sortiert werden. Bei dir müsste es aufsteigend sein, also von der kleinesten ID zur größten.
Gehe in die showthread.php ca. in Zeile 117 und ersetze folgende Zeile
 

$sqlbefehl= \"Select count(*) as total FROM $tab_post where threadid=\'$id\' \";

 
 
durch folgende
 

$sqlbefehl= \"Select count(*) as total FROM $tab_post where threadid=\'$id\' ORDER BY id DESC\";

 
 
Dies dürfte eigentlich schon reichen, dass die neusten Posts oben angezeigt werden, also von der Reihenfolge absteigend.
 
Grüße

michael1982

Hallo k00ni,
danke für die Mühe,  ich habe es gleich ausprobiert. Leider hat es nichts gebracht.  Die Reihenfolge bleibt föllig unverändert und es kommt auch keine Fehlermeldung.
Vielleicht gibt es noch einen anderen Weg?
Gruß Michael1982

k00ni

Jo, ich hatte den Code nur überflogen. Meine Änderungen oben kannst du wieder rückgängig machen. Hier ist die neue Änderung, die auch funktionieren sollte. Getestet habe ich es aber nur im pSys-Forum.
Du findest in der showthread.php ca. in Zeile 211 folgenden Codeklumpen
 

//############ Posts anzeigen ##########################
if ($_REQUEST[\'show\'] ==\"new\") {
   $sqlbefehl= \"Select u.invisible,u.expire,u.usertitel,p.id,p.userid,icon,titel,post,p.time,name,host,usesmile,
                       nickname,email,icq,signatur,usertyp,homepage,postcount,info1,info2,info3,usepm,avatar,showemail,karma,gender,showkarma,ircserver,ircchan,
                       u.aimid,u.yahooid,u.msnid,u.skype,
                       Count(f.id) as filecount
                From $tab_post p
                Left join $tab_user u on p.userid=u.id
                Left Outer Join $tab_fileinfo f on f.postid=p.id
                Where p.threadid= \'$id\' and p.time > \'$user_lastlogin\'
                Group By u.invisible,u.expire,u.usertitel,p.id,p.userid,icon,titel,post,p.time,name,host,usesmile,
                       nickname,email,icq,signatur,usertyp,homepage,postcount,info1,info2,info3,usepm,avatar,showemail,karma,gender,showkarma,ircserver,ircchan,
                       u.aimid,u.yahooid,u.msnid,u.skype
                Order by p.time DESC\";
} elseif ( $from != \'\' ) {
   $sqlbefehl= \"Select u.invisible,u.expire,u.usertitel,p.id,p.userid,icon,titel,post,p.time,name,host,usesmile,
                       nickname,email,icq,signatur,usertyp,homepage,postcount,info1,info2,info3,usepm,avatar,showemail,karma,gender,showkarma,ircserver,ircchan,
                       u.aimid,u.yahooid,u.msnid,u.skype,
                       Count(f.id) as filecount
                From $tab_post p
                Left join $tab_user u on p.userid=u.id
                Left Outer Join $tab_fileinfo f on f.postid=p.id
                Where p.threadid= \'$id\' and p.time >= \'$from\'
                Group By u.invisible,u.expire,u.usertitel,p.id,p.userid,icon,titel,post,p.time,name,host,usesmile,
                       nickname,email,icq,signatur,usertyp,homepage,postcount,info1,info2,info3,usepm,avatar,showemail,karma,gender,showkarma,ircserver,ircchan,
                       u.aimid,u.yahooid,u.msnid
               Order by p.time DESC LIMIT $eintrag,$pps\";
} else {
   $sqlbefehl= \"Select u.invisible,u.expire,u.usertitel,p.id,p.userid,icon,titel,post,p.time,name,host,usesmile,
                       nickname,email,icq,signatur,usertyp,homepage,postcount,info1,info2,info3,usepm,avatar,showemail,karma,gender,showkarma,ircserver,ircchan,
                       u.aimid,u.yahooid,u.msnid,u.skype,
                       Count(f.id) as filecount
                From $tab_post p
                Left join $tab_user u on p.userid=u.id
                Left Outer Join $tab_fileinfo f on f.postid=p.id
                Where p.threadid= \'$id\'
                Group By u.invisible,u.expire,u.usertitel,p.id,p.userid,icon,titel,post,p.time,name,host,usesmile,
                       nickname,email,icq,signatur,usertyp,homepage,postcount,info1,info2,info3,usepm,avatar,showemail,karma,gender,showkarma,ircserver,ircchan,
                       u.aimid,u.yahooid,u.msnid
                Order by p.time DESC LIMIT $eintrag,$pps\";
}

 
 
Dort musst du folgendes ändern:
ca. Zeile 225
das
 

Order by p.time\";

 
 
zu dem
 

Order by p.time DESC\";

 
 
ca. Zeile 238
das
 

Order by p.time LIMIT $eintrag,$pps\";

 
 
zu dem
 

Order by p.time DESC LIMIT $eintrag,$pps\";

 
 
ca. Zeile 251
das
 

Order by p.time LIMIT $eintrag,$pps\";

 
 
zu dem
 

Order by p.time DESC LIMIT $eintrag,$pps\";

 
 
Grüße

michael1982

Genial, vielen Dank, es funktioniert wunderbar.
Gruß Michael 1982

all your base are belong to us / Discord