Seite 4 von 16
Verfasst: 23.12.2002 15:41
von Acid
..füge ma bei..
//
// 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
..nach
u2 noch
$toh_sql2 an.
k/A ob´s was bringt, aber das $order_by in dem Query verlangt ja (durch rating) die Angabe der Rating-Tabelle.
Verfasst: 23.12.2002 16:42
von JLoop©
Habs gemacht aber die fehlermeldung bleibt

Irgendwie scheint der fehler im query zu sein
Siehe fehlermeldung:
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 phpbb_topics t, phpbb_users u, phpbb_posts p, phpbb_users u2, phpbb_posts_text pt WHERE t.forum_id = 1 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 = 2 ORDER BY rating DESC
Müsste es net so sein?!
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 phpbb_topics t, phpbb_users u, phpbb_posts p, phpbb_users u2, phpbb_rate_results r, phpbb_posts_text pt WHERE t.forum_id = 1 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 = 2 ORDER BY rating DESC
Grüße JLoop
Verfasst: 24.12.2002 11:47
von Acid
Irgendwie reden wir am Query vorbei ..poste nochma die genaue Fehlermeldung und ´n Link zur aktuellst genutzten viewforum.php .

Verfasst: 24.12.2002 14:09
von JLoop©
Die Fehlermeldung:
Couldn't obtain topic information
DEBUG MODE
SQL Error : 1054 Unknown column 'rating' in 'order clause'
SELECT t.*, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_time, p.post_username FROM phpbb_topics t, phpbb_users u, phpbb_posts p, phpbb_users 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 = 3 ORDER BY rating DESC
Line : 484
File : /viewforum.php
und hier nochmal die aktuelle:
viewforum.php
Frohes Fest,
JLoop
Verfasst: 24.12.2002 16:31
von saerdnaer
ach jetzt hab ich den fehler suche nach
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:
danach einfügen:
darin suchen:
danach einfügen:
darin suchen:
danach einfügen
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:
danach einfügen:
darin suchen:
danach einfügen:
darin suchen:
danach einfügen
und immer schön ein leer zeichen vor / nach den eingefügten variablen machen!!!
ah
Verfasst: 24.12.2002 16:57
von JLoop©
thx nun sortiert es zwar nach bewertung aber alle anderen Topics ( für die noch net gewertet wurde ) werden garnet mehr angezeigt
Grüße JLoop
Verfasst: 24.12.2002 17:15
von saerdnaer
ersetze folgendes
Code: Alles auswählen
$toh_sql2 = ', ' . RATE_TABLE . ' r';
$toh_sql3 = 'AND r.topic_id = t.topic_id GROUP BY t.topic_id, u.user_id, u2.user_id';
durch folgendes:
Code: Alles auswählen
$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';
ah
Verfasst: 25.12.2002 16:31
von JLoop©
Scheint nicht zu gehen jetzt bekomme ich wieder ne fehlermeldung
Could not obtain topic information
DEBUG MODE
SQL Error : 1064 You have an error in your SQL syntax near 'ON r.topic_id = t.topic_id , phpbb_posts_text pt WHERE t.forum_id = 1 ' at line 2
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, AVG(rating) AS rating, pt.post_text FROM phpbb_topics t, phpbb_users u, phpbb_posts p, phpbb_posts p2, phpbb_users u2LEFT JOIN phpbb_rate_results r ON r.topic_id = t.topic_id , phpbb_posts_text pt WHERE t.forum_id = 1 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 p2.post_id = pt.post_id AND u2.user_id = p2.poster_id AND t.topic_type <> 2 AND t.topic_type <> 3 GROUP BY t.topic_id, u.user_id, u2.user_id ORDER BY t.topic_type DESC, rating DESC LIMIT 0, 50
Line : 553
File : viewforum.php
Grüße JLoop
BTW: Mal ne frage was genau bewirkt das AVG(rating) AS rating ?Steht AVG für Average?
Verfasst: 25.12.2002 16:35
von kontors
Hi,
ich wäre auch an dieser sortierungsmöglichkeit interessiert aber ich steig bei den ganzen Beiträgen nicht mehr durch

Könnte jemand das ganze mal zusammenfassen?
Gruß kontors
Verfasst: 25.12.2002 19:59
von saerdnaer
@jloop: ich sagte doch vor und nach $toh_sql immer ein leerzeichen lassen!!!
die AVG funktion von mysql rechnet einfach den durchschnitt aus...
@kontors: wenns bei jloop funktioniert poste ich das ganze alles in einem beitrag zusammengefasst...
ah