[help] Помогите разобраться со скриптом статистики
Вот сам код модуля
<script type='text/javascript'>
mytagid = Math.floor( Math.random() * 100 );
document.write("
/*
=====================================================
Файл: statistic.php
-----------------------------------------------------
Назначение: статистика
=====================================================
*/
if(!defined('GWE')) { die("Попытка взлома!"); }
require_once ENGINE_DIR.'/inc/parse.class.php';
require_once ENGINE_DIR.'/data/la2dbconfig.php'; // подключение файла с параметрами для BD игрового сервера
$countserv = $config_game['count_servers'];
$charname = array();
$parse = new ParseFilter();
$parse->safe_mode = true;
$stop_stat = FALSE;
if (isset ($_GET['doaction'])) $doaction= intval($_GET['doaction']); else $doaction = "1";
if (isset ($_POST['chserv'])) $chserv= intval($_POST['chserv']); else $chserv = "1";
if (!$user_group[$member_id['user_group']]['allow_statistic']) {
msgbox ($lang['all_err_1'], $lang['statistic_err_1']);
$stop_stat = TRUE;
}
$tpl->load_template('statistic.tpl');
$tpl->set('[usertop100]',"<a href=\"$PHP_SELF?do=statistic&doaction=1\">");
$tpl->set('[/usertop100]',"</a>");
$tpl->set('[useronline]',"<a href=\"$PHP_SELF?do=statistic&doaction=2\">");
$tpl->set('[/useronline]',"</a>");
$tpl->set('[clanstatus]',"<a href=\"$PHP_SELF?do=statistic&doaction=3\">");
$tpl->set('[/clanstatus]',"</a>");
$tpl->set('[sevensings]',"<a href=\"$PHP_SELF?do=statistic&doaction=4\">");
$tpl->set('[/sevensings]',"</a>");
if ($doaction == "1" OR $doaction == "2" OR $doaction == "3" AND !$stop_stat) {
$statuser = "
</td><table width=\"100%\" border=\"0\" bordercolor=\"#000000\">
<tr><td colspan=\"6\" align=\"left\">
<form method=\"post\" name=\"doit\" action=\"$PHP_SELF?do=statistic&doaction=".$doaction."\">
<b>Сервер</b>
<select name=\"chserv\">";
for($i=1; $i<=$countserv; $i++) {
if ($i == $chserv) {
$statuser .= "<option selected=\"selected\" value=\"".$i."\">".$config_servers[$i]['game_name']."</option>\n";
} else {
$statuser .= "<option value=\"".$i."\">".$config_servers[$i]['game_name']."</option>\n";
} //end if
} //end for
$statuser .= "
</select><input type=\"submit\" value=\"Ok\" /></form>
</td>
</tr>";
if ($doaction == "1" OR $doaction == "2") {
$statuser .= "
<tr align=\"center\" bgcolor=\"#CCCCCC\">
<td width=\"30\"><b>№ </b></td>
<td> <b>Ник</b> </td>
<td> <b>Класс</b> </td>
<td width=\"80\"> <b>Геймтайм</b> </td>
<td width=\"60\"> <b>PvP/PK</b> </td>
<td> <b>Клан</b> </td>
</tr>";
} elseif ($doaction == "3") {
$statuser .= "
<tr align=\"center\" bgcolor=\"#CCCCCC\">
<td width=\"30\">№</td>
<td>Название</td>
<td width=\"30\">Lv.</td>
<td>Лидер</td>
<td width=\"70\">Репут.</td>
<td>Альянс</td>
</tr>";
}
if(!$db_g->connect($config_servers[$chserv]['game_user'],$config_servers[$chserv]['game_pass'], $config_servers[$chserv]['game_base'], $config_servers[$chserv]['game_host'], 0)) {
msgbox ($lang['all_err_1'], $lang['db_err_1']);
} else {
if($doaction == "1") {
$queryl2 = "SELECT char_name,pvpkills,pkkills,onlinetime,(SELECT clan_name FROM clan_data WHERE characters.clanid=clan_data.clan_id) AS clan,(SELECT ClassName FROM char_templates WHERE characters.classid=char_templates.ClassId) as class FROM characters WHERE accesslevel<50 ORDER BY level LIMIT 0 , 100";
} elseif($doaction == "2") {
$queryl2 = "SELECT char_name,pvpkills,pkkills,onlinetime,(SELECT clan_name FROM clan_data WHERE characters.clanid=clan_data.clan_id) AS clan,(SELECT ClassName FROM char_templates WHERE characters.classid=char_templates.ClassId) as class FROM characters WHERE online='1' AND accesslevel<50 ORDER BY level";
} elseif($doaction == "3") {
$queryl2 = "SELECT clan_name,clan_level,ally_name,(SELECT char_name FROM characters WHERE characters.obj_Id=clan_data.leader_id) AS leader, reputation_score FROM clan_data ORDER BY clan_level DESC";
}
$row = $db_g->query($queryl2);
$k=1;
if ($doaction == "1" OR $doaction == "2") {
while($temp = $db_g->get_row($row)) {
$charname[$k]=$temp["char_name"];
$onlinetime[$k]=floor($temp["onlinetime"]/60) ." m";
$pvpkills[$k]=$temp["pvpkills"];
$pkkills[$k]=$temp["pkkills"];
$clan[$k]=$temp["clan"];
$class[$k]=$temp["class"];
$statuser .= "
<tr>
<td>".$k."</td>
<td>".$charname[$k]."</td>
<td>".$class[$k]."</td>
<td align=\"center\">".$onlinetime[$k]."</td>
<td align=\"center\">".$pvpkills[$k]."/".$pkkills[$k]."</td>
<td align=\"center\">".$clan[$k]."</td>
</tr>
";
$k++;
}//end while
} elseif ($doaction == "3") {
while($temp = $db_g->get_row($row)) {
$clan_name[$k]=$temp["clan_name"];
$clan_level[$k]=$temp["clan_level"];
$ally_name[$k]=$temp["ally_name"];
$leader[$k]=$temp["leader"];
$reputation_score[$k]=$temp["reputation_score"];
$statuser .= "
<tr>
<td>".$k."</td>
<td>".$clan_name[$k]."</td>
<td align=\"center\">".$clan_level[$k]."</td>
<td>".$leader[$k]."</td>
<td align=\"center\">".$reputation_score[$k]."</td>
<td align=\"center\">".$ally_name[$k]."</td>
</tr>
";
$k++;
}//end while
}
//--------------------------------------
$db->connect(DBUSER, DBPASS, DBNAME, DBHOST); //Переключаемся на БД Сайта
} //end if
} elseif ($doaction == "4" AND !$stop_stat) {
$statuser = "
<table width=\"400\" border=\"0\">
<tr><td align=\"left\">
<form method=\"post\" name=\"doit\" action=\"$PHP_SELF?do=statistic&doaction=".$doaction."\">
<b>Сервер</b>
<select name=\"chserv\">";
for($i=1; $i<=$countserv; $i++) {
if ($i == $chserv) {
$statuser .= "<option selected=\"selected\" value=\"".$i."\">".$config_servers[$i]['game_name']."</option>\n";
} else {
$statuser .= "<option value=\"".$i."\">".$config_servers[$i]['game_name']."</option>\n";
} //end if
} //end for
$statuser .= "
</select><input type=\"submit\" value=\"Ok\" /></form>
</td></tr>";
if(!$db_g->connect($config_servers[$chserv]['game_user'],$config_servers[$chserv]['game_pass'], $config_servers[$chserv]['game_base'], $config_servers[$chserv]['game_host'], 0)) {
msgbox ($lang['all_err_1'], $lang['db_err_1']);
} else {
$query1 = "SELECT COUNT(*) AS chars FROM seven_signs WHERE cabal='dawn'";
$query2 = "SELECT COUNT(*) AS chars FROM seven_signs WHERE cabal='dusk'";
$query3 = "SELECT * FROM seven_signs_status";
$row = $db_g->query($query3);
$festival = $db_g->get_row($row);
$avarice = $festival["avarice_dawn_score"]+$festival["avarice_dusk_score"];
$gnosis = $festival["gnosis_dawn_score"]+$festival["gnosis_dusk_score"];
$strife = $festival["strife_dawn_score"]+$festival["strife_dusk_score"];
$day = $festival["date"];
switch($festival["active_period"])
{
case "0":
{
$active_period="Подготовка";
break;
}
case "1":
{
$active_period="Соревнование. День <b>$day</b>";
break;
}
case "2":
{
$active_period="Вычисление";
break;
}
case "3":
{
$active_period="Действие печати. День <b>$day</b>";
break;
}
} //end switch
$row = $db_g->query($query1);
$dawn = $db_g->get_row($row);
$row = $db_g->query($query2);
$dusk = $db_g->get_row($row);
$all = $dawn["chars"] + $dusk["chars"];
if($all == 0) { $all = 1; }
$oned = round(300/$all, 2);
$dawn_chars = floor($dawn["chars"] * $oned);
$dawn_chars_percent = round($dawn_chars*(100/300), 2);
if($dawn_chars == 0) { $dawn_chars = 1; }
$dusk_chars = floor($dusk["chars"] * $oned);
$dusk_chars_percent = round($$dusk_chars*(100/300), 2);
if($dusk_chars == 0) { $dusk_chars = 1; }
$allstone = $festival["dawn_stone_score"] + $festival["dusk_stone_score"];
if($allstone == 0) { $allstone = 1; }
$onedstone = round(300/$allstone, 2);
$dawn_stone = floor($festival["dawn_stone_score"] * $onedstone);
$dawn_stone_percent = round($dawn_stone*(100/300), 2);
if($dawn_stone == 0) { $dawn_stone = 1; }
$dusk_stone = floor($festival["dusk_stone_score"] * $onedstone);
$dusk_stone_percent = round($dusk_stone*(100/300), 2);
if($dusk_stone == 0) { $dusk_stone = 1; }
$owners["0"]="нет";
$owners["1"]="dusk";
$owners["2"]="dawn";
$statuser .= "
<tr><td> </td></tr>
<tr><td><table width=\"400\" border=\"0\">
<tr><td colspan=\"4\" width=\"100\"><strong>Период: ".$active_period."</strong></td></tr>
<tr><td colspan=\"4\"> </td></tr>
<tr>
<td><strong>Игроки</strong></td>
<td align=\"left\" width=\"100\">0 %</td>
<td align=\"center\" width=\"100\">50 %</td>
<td align=\"right\" width=\"100\">100 %</td>
</tr>
<tr>
<td>Dawn (".$dawn_chars_percent." %):</td>
<td colspan=\"3\"><img src=\"".$config['http_home_url']."templates/{$config['skin']}/gweimages/poll1.gif\" height=\"10\" width=\"".$dawn_chars."\" style=\"border:1px solid black\"></td>
</tr>
<tr>
<td>Dusk (".$dusk_chars_percent." %):</td>
<td colspan=\"3\"><img src=\"".$config['http_home_url']."templates/{$config['skin']}/gweimages/poll2.gif\" height=\"10\" width=\"".$dusk_chars."\" style=\"border:1px solid black\"></td>
</tr>
<tr>
<td colspan=\"4\"> </td>
</tr>
<tr>
<td><strong>Камни</strong></td>
<td align=\"left\" width=\"100\">0 %</td>
<td align=\"center\" width=\"100\">50 %</td>
<td align=\"right\" width=\"100\">100 %</td>
</tr>
<tr>
<td>Dawn (".$dusk_stone_percent." %):</td>
<td colspan=\"3\"><img src=\"".$config['http_home_url']."templates/{$config['skin']}/gweimages/poll3.gif\" height=\"10\" width=\"{$dusk_stone}\" style=\"border:1px solid black\"></td>
</tr>
<tr>
<td>Dusk (".$dusk_stone_percent." %):</td>
<td colspan=\"3\"><img src=\"".$config['http_home_url']."templates/{$config['skin']}/gweimages/poll4.gif\" height=\"10\" width=\"{$dusk_stone}\" style=\"border:1px solid black\"></td>
</tr>
</table></td></tr>
<tr><td> </td></tr>
<tr><td><table width=\"400\" border=\"0\">
<tr>
<td colspan=\"2\" width=\"140\"><strong>Печати</strong></td>
</tr>
<tr>
<td colspan=\"2\"> </td>
</tr>
<tr>
<td colspan=\"2\"><strong>Seal of Avarice</strong></td>
</tr>
<tr>
<td width=\"80\">Dusk:</td>
<td align=\"left\">".$festival["avarice_dusk_score"]."</td>
</tr>
<tr>
<td width=\"80\">Dawn:</td>
<td align=\"left\">".$festival["avarice_dawn_score"]."</td>
</tr>
<tr>
<td>Всего:</td>
<td align=\"left\">".($festival["avarice_dawn_score"]+$festival["avarice_dusk_score"])."</td>
</tr>
<tr>
<td>Владелец:</td>
<td align=\"left\">".$owners[$festival["avarice_owner"]]."</td>
</tr>
<tr>
<td colspan=\"2\"> </td>
</tr>
<tr>
<td colspan=\"2\"><strong>Seal of Gnosis</strong></td>
</tr>
<tr>
<td>Dusk:</td>
<td align=\"left\">".$festival["gnosis_dusk_score"]."</td>
</tr>
<tr>
<td>Dawn:</td>
<td align=\"left\">".$festival["gnosis_dawn_score"]."</td>
</tr>
<tr>
<td>Всего:</td>
<td align=\"left\">".($festival["gnosis_dawn_score"]+$festival["gnosis_dusk_score"])."</td>
</tr>
<tr>
<td>Владелец:</td>
<td align=\"left\">".$owners[$festival["gnosis_owner"]]."</td>
</tr>
<tr>
<td colspan=\"2\"> </td>
</tr>
<tr>
<td colspan=\"2\"><strong>Seal of Strife</strong></td>
</tr>
<tr>
<td>Dusk:</td>
<td align=\"left\">".$festival["strife_dusk_score"]."</td>
</tr>
<tr>
<td>Dawn:</td>
<td align=\"left\">".$festival["strife_dawn_score"]."</td>
</tr>
<tr>
<td>Всего:</td>
<td align=\"left\">".($festival["strife_dawn_score"]+$festival["strife_dusk_score"])."</td>
</tr>
<tr>
<td>Владелец:</td>
<td align=\"left\">".$owners[$festival["strife_owner"]]."</td>
</tr>
</table></td></tr>
</table>";
//--------------------------------------
$db->connect(DBUSER, DBPASS, DBNAME, DBHOST); //Переключаемся на БД Сайта
} //end if
} else {
msgbox ($lang['all_err_1'], $lang['statistic_err_2']);
$stop_stat = TRUE;
}
$db->free();
$tpl->set('{stat_user}',$statuser);
$tpl->compile('content');$tpl->clear();
?>
скрыть
document.close();
accesslevel<50 ORDER BY level LIMIT 0 , 100"; тут 0 и 100 попробуй местами поменять... Хотя я точно хз...
— La2Psy.ru [ADM]Wh1tePower...
не эт точно не то это означает сколько будет показываться в рейтинге топ сейчас стоит 100 значит и встатистике будет 100 но всеравно спасибку ткнул за внимание!! блин ппц проблемка елементарная там гдета нужно заменить совсем смальца а я смотрю на скрипт и не вижу ппц хелп люди хеелп
Что вы за люди
ORDER BY сортирует строки запросов по столбцу XXXXX в прямом (ASC) или обратном порядке (DESC)
DESC замени на ASC
WebDeveloper сервера DARKWORLD
спасибо помогло) просто дело в том что тут блин и небыло указанно в каком порядке сортировать !
ты не внимателен, вот запрос, отвечающий за выборку кланов:
WebDeveloper сервера DARKWORLD
сос статистикой кланов то все нормально меня интересовал вот этот запрос
тут как видиш не установленно сортировки и кстати нужна то как раз в обратном порядке ну всеравно тебе спс разяснил ситуацию


