Hi,
irgendwie bekomme ich das net hin

Ich brauche das ganze für ein Statistik Modul was ich gerade versuche zu coden das ganze soll mir die Top 10 der Administratoren nach Posts ausgeben nur leider stimmt die Prozentangabe nicht!Hier mal der
unveränderte Code:
Code: Alles auswählen
//
// Top posters SQL
//
$sql = "SELECT user_id, username, user_posts
FROM " . USERS_TABLE . "
WHERE user_level = " . ADMIN . "
AND user_posts > 0
ORDER BY user_posts DESC
LIMIT " . $return_limit;
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Couldn't retrieve users data", "", __LINE__, __FILE__, $sql);
}
$user_count = $db->sql_numrows($result);
$user_data = $db->sql_fetchrowset($result);
$percentage = 0;
$bar_percent = 0;
$firstcount = $user_data[0]['user_posts'];
for ($i = 0; $i < $user_count; $i++)
{
do_math($firstcount, $user_data[$i]['user_posts'], get_db_stat('postcount'), $percentage, $bar_percent);
$template->assign_block_vars("topadmins", array(
"RANK" => $i+1,
"CLASS" => ( !($i+1 % 2) ) ? $theme['td_class2'] : $theme['td_class1'],
"USERNAME" => $user_data[$i]['username'],
"PERCENTAGE" => $percentage,
"BAR" => $bar_percent,
"URL" => $phpbb_root_path . "profile.php?mode=viewprofile&u=" . $user_data[$i]['user_id'],
"POSTS" => $user_data[$i]['user_posts'])
);
}
Ich habe mal versucht deinen Vorschlag in das script einzubauen:
Code: Alles auswählen
$sql = "SELECT count(post_id)
FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u
WHERE p.poster_id = u.user_id
AND u.user_level <> " . ADMIN . "";
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Couldn't retrieve users data", "", __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
//
// Top posters SQL
//
$sql = "SELECT user_id, username, user_posts
FROM " . USERS_TABLE . "
WHERE user_level = " . ADMIN . "
AND user_posts > 0
ORDER BY user_posts DESC
LIMIT " . $return_limit;
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Couldn't retrieve users data", "", __LINE__, __FILE__, $sql);
}
$user_count = $db->sql_numrows($result);
$postadmincount = $row['post_id'];
$user_data = $db->sql_fetchrowset($result);
$percentage = 0;
$bar_percent = 0;
$firstcount = $user_data[0]['user_posts'];
for ($i = 0; $i < $user_count; $i++)
{
do_math($firstcount, $user_data[$i]['user_posts'], $postadmincount, $percentage, $bar_percent);
$template->assign_block_vars("topadmins", array(
"RANK" => $i+1,
"CLASS" => ( !($i+1 % 2) ) ? $theme['td_class2'] : $theme['td_class1'],
"USERNAME" => $user_data[$i]['username'],
"PERCENTAGE" => $percentage,
"BAR" => $bar_percent,
"URL" => $phpbb_root_path . "profile.php?mode=viewprofile&u=" . $user_data[$i]['user_id'],
"POSTS" => $user_data[$i]['user_posts'])
);
}
}
aber jetzt wird bei Prozent nur noch "0%" angezeigt!
Hast du vileicht ne idee wie ich das lösen kann?
Gruß Coupling