Скрипт для вывода ТОП игроков

Теперь сделаем скрипт, который будет строить таблицу со списком игроков. Это будет ТОП, а именно ТОП 100 игроков. В качестве критерия отбора возмём разные параметры: уровень, время он-лайна, pvpkills, pkkills, "живучесть".

Сделаем несколько таблиц:
  • Общий рейтинг (сортировка будет по уровню). В этой таблице будем выводить следующие данные: Ник, Уровень, pvpkills, pkkills, Онлайн или нет, Время ОнЛайна
  • По времени ОнЛайн. В этой таблице будут: Ник, Время ОнЛайна, Онлайн или нет
  • По pkkills. В этой таблице будут: Ник, pkkills, Онлайн
  • По уровню. В этой таблице будут: Ник, Уровень, Онлайн
  • По живучести. В этой таблице будут: Ник, Живучесть, Онлайн

    Выводить будем только 100 записей, сортированные по критерию отбора и по убыванию.

    Итак, Вывод общей таблицы:
    <?
    include "config.php"; // подключаем файл с конфигом
    if(Test_mysql_connect() == false)
    {
        echo "<font color='#ff0000'>Нет соединения. Скорее всего сервер неактивен. <br>Вывод списка участников невозможен.</font>";
        End_page();
    }

    $msconn = mysql_connect($dbhost, $dbuser, $dbpass);
    if($msconn == FALSE)
    {
        echo "Ошибка соединения.
        Скорее всего игровой сервер неактивен, попробуйте зайти сюда позже.";
        End_page();
    }
    if(!MYSQL_SELECT_DB($dbname))
    {
        echo "БД не найдена! Скорее всего эта ошибка вызвана сбоем на сервере."; End_page();
    }
        echo "Общее<br><br>";
        $q = mysql_query("SELECT char_name, level, pvpkills, pkkills, online, onlinetime FROM characters
         ORDER BY level DESC LIMIT 100");
        if($q == FALSE){ echo "Error"; End_page(); }
        echo "<table width='95%' border='1' cellpadding='0' cellspacing='0' bordercolor='#6b6b6b'>";
        echo "<tr align='center'>";
        echo "<td><font size='2'>Ник</font></td>
        <td><font size='2'>Уровень</font></td>
        <td><font size='2'>pvpkills</font></td>
        <td><font size='2'>pkkills</font></td>
        <td><font size='2'>Онлайн</font></td>
        <td><font size='2'>Время ОнЛайна</font></td>";
        echo "</tr>";
        while($row = mysql_fetch_array($q))
        {
            if($row["online"] == 0) $res = "<font size='2'>Нет</font>";
            if($row["online"] == 1) $res = "<font size='2' color='green'>Да</font>";
            if($row["onlinetime"] < 60) $time_online = $row["onlinetime"]." сек";
            if($row["onlinetime"] >= 60 && $row["onlinetime"] < 3600) $time_online = (ceil($row["onlinetime"] / 60))." мин";
            if($row["onlinetime"] >= 3600) $time_online = (ceil($row["onlinetime"] / 3600))." часов";

            echo "<tr align='center'>";
            echo "<td><font size='2'>".$row["char_name"]."</font></td>";
            echo "<td><font size='2'>".$row["level"]."</font></td>";
            echo "<td><font size='2'>".$row["pvpkills"]."</font></td>";
            echo "<td><font size='2'>".$row["pkkills"]."</font></td>";
            echo "<td>".$res."</td>";
            echo "<td><font size='2'>".$time_online."</font></td>";
            echo "</tr>";
        }
        echo "</table>";
    ?>


    В результате получится таблица:

    Скачайте файл с этим скриптом table1.rar