4 / 0 / 0
Регистрация: 16.07.2014
Сообщений: 65
1

Как узнать, сколько онлайн игроков на всех игровых серверах в таблице

16.08.2014, 12:07. Показов 3913. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется таблица вида:
id, ip, port
В ней хранятся игровые серверы.
Далее.
Я могу получить информацию о сервере, мне нужно узнать сколько человек онлайн на сервере.

PHP
1
2
$query = $this->db->query('SELECT id, ip, port FROM servers'); // Берем данные из БД
$row = $query->row();
Далее я подставляю данные в специальную функцию, которая дает мне данные о сервере.
PHP
1
$q = new SampQueryAPI($row->ip, $row->port); // Подставляем данные, которые взяли из таблицы в эту функцию
Далее, мне нужно узнать, онлайн ли вообще сервер, который мы взяли из Таблицы БД.
И если сервер онлайн, узнать сколько на нем играет человек.
PHP
1
2
3
4
5
$c = $q->isOnline(); // Если сервер онлайн в $c запишет 1, если оффлайн, то 0.
if ($c == 1) { // Если онлайн, то...
    $a = $q->getInfo(); // В $a запишем массив с данными из функции getInfo(). (Она много может, например узнать сколько человек онлайн на сервере...)
    echo $a['players']; // Выводим кол-во человек онлайн... $a['players']
}
Вот так я могу узнать сколько играет человек на 1 сервере, а мне нужно узнать сколько играет человек на серверах которые у меня есть в БД и которые сейчас онлайн.
Как такое реализовать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.08.2014, 12:07
Ответы с готовыми решениями:

Как узнать IP адресов всех онлайн компьютеров?
Такое возможно вообще?

Как узнать сколько пользователей подключено к таблице
Можно ли как нибудь узнать сколько пользователей подключено к таблице на сервере. Все пользователи...

Как узнать сколько памяти занимает таблица и каждый столбец в таблице
Как узнать сколько памяти занимает таблица и каждый столбец в таблице Access?

В составе баскетбольной команды 12 игроков. Сколько игроков в команде имеют рост, меньший среднего роста команды?
!!!

4
SV
55 / 55 / 25
Регистрация: 03.08.2014
Сообщений: 258
16.08.2014, 16:48 2
Пройтись циклом по всем записям, получить для каждого отдельно и просуммировать?
PHP
1
2
3
while($row = $query->row()) {
получаем данные для конкретного сервера, суммируем
}
1
4 / 0 / 0
Регистрация: 16.07.2014
Сообщений: 65
16.08.2014, 19:06  [ТС] 3
Цитата Сообщение от SV Посмотреть сообщение
Пройтись циклом по всем записям, получить для каждого отдельно и просуммировать?
Код PHP
1
2
3
while($row = $query->row()) {
получаем данные для конкретного сервера, суммируем
}
вот как суммировать я не знаю
0
SV
55 / 55 / 25
Регистрация: 03.08.2014
Сообщений: 258
16.08.2014, 19:28 4
PHP
1
2
3
4
5
6
$total = 0;
while($row = $query->row()) {
получаем данные для конкретного сервера, суммируем
$a = 123;
$total += $a;
}
В $a = полученное значение для данного сервера, в $total - будет суммарное
0
4 / 0 / 0
Регистрация: 16.07.2014
Сообщений: 65
16.08.2014, 21:33  [ТС] 5
Вот как сделал:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
$total = 0;
$query = $this->db->query('SELECT id, ip, port FROM servers');
while($row = $query->row()) {
    $q = new SampQueryAPI($row->ip, $row->port);
    $c = $q->isOnline();
    if ($c == 1) {
        $a = $q->getInfo();
        $allonlineplayers = $a['players'];
        $total += $allonlineplayers;
    }
}
echo $total;
?>
Ничего не происходит, страница просто не загружается

Добавлено через 4 минуты
А все сделал, через foreach. спасибо
0
16.08.2014, 21:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.08.2014, 21:33
Помогаю со студенческими работами здесь

Узнать сколько строк в таблице ms sql
Приветствую, уважаемые форумчане! Снова требуется ваша помощь! Есть таблица в таблице столбцы:...

Как настроить автоматическую индексацию Баз на всех серверах?
Проблема в том что поиск работает не корректно (выводит всякую лабуду). Полагаю что проблема в том...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru