Seite 1 von 16

Saerdnaers Topics Order Hack - Nach Bewertung sortieren?

Verfasst: 16.12.2002 14:44
von JLoop©
Hi,
ich habe saerdnaers Topics Order Hack installiert läuft auch alles einwandfrei nur würde ich es meinen Usern gerne ermöglichen die Themen auch nach Bewertung zu sortieren (Rating Mod)!Ich weiss das ich es nach der tabellenspalte "rating" in der tabelle rate_results sortieren lassen muss,aber ich weiss net wie genau ich das anstellen kann :o

Wäre toll wenn mir jemand weiterhelfen könnte das zu realisieren!

Grüße JLoop

Verfasst: 16.12.2002 14:46
von saerdnaer
link zum rating hack bitte...

ah

Verfasst: 16.12.2002 14:50
von JLoop©

Verfasst: 16.12.2002 16:50
von saerdnaer
EDIT: DIES HIER IST DIE ENTGÜLTIGE VERSION!! DIE FOLGENDEN BEITRÄGE GEHEN ALLE ÜBER DIE ARBEITSVERSION DIE VORHER HIER GESANDEN IST!!!

viewtopic.php:
suchen:

Code: Alles auswählen

  $sort_order = "DESC";
}
danach einfügen:

Code: Alles auswählen

$toh_sql1 = '';
$toh_sql2 = '';
$toh_sql3 = '';

suchen:

Code: Alles auswählen

          case 'time':
                        $order_by = "t.topic_id $sort_order";
                        break;
danach einfügen:

Code: Alles auswählen

          case 'rating':
                        $order_by = "IF(rating = NULL, 0, rating) $sort_order";
                        $toh_sql1 = ', AVG(rating) AS rating';
                        $toh_sql2 = 'LEFT JOIN ' . RATE_TABLE . ' r ON r.topic_id = t.topic_id '; 
                        $toh_sql3 = 'GROUP BY t.topic_id, u.user_id, u2.user_id';
                        break;
suchen:

Code: Alles auswählen

$mode_types = array("default", [...] 
danach einfügen:

Code: Alles auswählen

$mode_types_text[] = 'Bewertung';
$mode_types[] = 'rating';
suchen:

Code: Alles auswählen

//
// All announcement data, this keeps announcements
// on each viewforum page ...
//
$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_time, p.post_username, pt.post_text
        FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . USERS_TABLE . " u2, " . POSTS_TEXT_TABLE . " pt
        WHERE t.forum_id = $forum_id
                AND t.topic_poster = u.user_id
                AND p.post_id = t.topic_last_post_id
                AND p.post_id = pt.post_id
                AND p.poster_id = u2.user_id
                AND t.topic_type = " . POST_ANNOUNCE . "
        ORDER BY $order_by ";
darin suchen:

Code: Alles auswählen

pt.post_text
danach einfügen:

Code: Alles auswählen

$toh_sql1
darin suchen:

Code: Alles auswählen

" . POSTS_TEXT_TABLE . " pt
danach einfügen:

Code: Alles auswählen

$toh_sql2
darin suchen:

Code: Alles auswählen

AND t.topic_type = " . POST_ANNOUNCE . "
danach einfügen

Code: Alles auswählen

$toh_sql3
suchen:

Code: Alles auswählen

//
// Grab all the basic data (all topics except announcements)
// for this forum
//
$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time
        FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2, " . USERS_TABLE . " u2
        WHERE t.forum_id = $forum_id
                AND t.topic_poster = u.user_id
                AND p.post_id = t.topic_first_post_id
                AND p2.post_id = t.topic_last_post_id
                AND u2.user_id = p2.poster_id
                AND t.topic_type <> " . POST_ANNOUNCE . "
                $limit_topics_time
        ORDER BY t.topic_type DESC, $order_by
        LIMIT $start, ".$board_config['topics_per_page'];
im gefundenen suchen:

Code: Alles auswählen

p2.post_time
danach einfügen:

Code: Alles auswählen

$toh_sql1
im gefundenen suchen:

Code: Alles auswählen

" . USERS_TABLE . " u2
danach in der geleichen zeile einfügen:

Code: Alles auswählen

$toh_sql2
im gefundenen suchen:

Code: Alles auswählen

$limit_topics_time
danach einfügen:

Code: Alles auswählen

$toh_sql3
und falls man den global announcement hack installiert hat muss man noch folgendes machen:
suchen:

Code: Alles auswählen

//
// All GLOBAL announcement data, this keeps GLOBAL announcements
// on each viewforum page ...
//
$sql = "SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_time, p.post_username
   FROM " . TOPICS_TABLE . " t, " . USERS_TABLE . " u, " . POSTS_TABLE . " p, " . USERS_TABLE . " u2
   WHERE t.topic_poster = u.user_id
      AND p.post_id = t.topic_last_post_id
      AND p.poster_id = u2.user_id
      AND t.topic_type = " . POST_GLOBAL_ANNOUNCE . "
   ORDER BY $order_by ";
darin suchen:

Code: Alles auswählen

p.post_username
danach einfügen:

Code: Alles auswählen

$toh_sql1
darin suchen:

Code: Alles auswählen

" . USERS_TABLE . " u2
danach einfügen:

Code: Alles auswählen

$toh_sql2
darin suchen:

Code: Alles auswählen

AND t.topic_type = " . POST_GLOBAL_ANNOUNCE . "
danach einfügen

Code: Alles auswählen

$toh_sql3
PS: vor und nach dem $toh_sql immer ein leerzeichen machen!!!

ah

Verfasst: 16.12.2002 17:23
von JLoop©
Scheint irgendwie net zu funzen so wirds jetzt angezeigt:

Nach Bewertung Absteigend:

0.00
10.00
0.00
5.00

Nach Bewertung Aufsteigend:

5.00
0.00
10.00
0.00

Müsste es net eigentlich so sein:

Nach Bewertung Absteigend:

10.00
5.00
0.00
0.00


Nach Bewertung Aufsteigend:

0.00
0.00
5.00
10.00

Ich nehm an das liegt irgendwie daran das das 0.00 nicht in der DB gespeichert wird?!Kann man das irgendwie anders regeln?

Grüße JLoop

Verfasst: 17.12.2002 14:20
von JLoop©
Sonst noch jemand ne idee wie ich das hinbekommen kann?? :-?

Grüße JLoop

Verfasst: 17.12.2002 14:35
von saerdnaer
könnte ich mir das mal anschauen? url zu deinem board?

PS: du solltest schon 24 stunden warten bevor du einen 'Sonst noch jemand ne idee wie ich das hinbekommen kann??' post schreibst...

ah

Verfasst: 17.12.2002 14:45
von JLoop©
URL geht schlecht da das board bisher nur lokal auf meinem PC läuft aber ich denke mal es liegt einfach nur daran das bei allen themen für die nicht gewertet wurde 0.00 angezeigt wird und in der DB werden ja nur die Bewertungen gespeichert!

Grüße JLoop

PS: Sorry aber der Beitrag war so weit nach unten gerutscht deswegen hatte ich nochmal gepostet :oops:

Verfasst: 17.12.2002 14:51
von saerdnaer
dann schick mir halt mal schnell deine ip per pm oder email...

und wegen den paar positionen hättest du das wirklich nicht machen müssen...

ah

Verfasst: 17.12.2002 14:55
von JLoop©
saerdnaer hat geschrieben:dann schick mir halt mal schnell deine ip per pm oder email...
Äh und was willst du damit?Das Board läuft im mom. nur zu testzwecken auf meinem PC da kannst net über die IP drauf zugreifen falls du das meintest oder versteh ich das jetzt irgendwie falsch? :o

Gruß JLoop