<?php
if($comcenter == "1")
{
if(isset($login) and isset($password)){
$timer = time();
$fres = mysql_query("SELECT * FROM users ORDER BY visit DESC,id");
echo "
<body id='base-bf3-body' class='new-base-bf3-body is-loggedin fullwidth'>
<div id='comcenter-friends'>
<div class='comcenter-friends-border'></div>
<surf:container id='surface-comcenter-area'>
<div id='comcenter-area' class='comcenter-not-in-voice'>
<div id='friendlist-header'>
<div class='comcenter-contract'> </div>
<p>Командный центр (BETA)</p>
</div>
<div id='comcenter-loading'>
<div class='comcenter-loading-area'></div>
</div>
<div id='comcenter-tab-friends-content' class='comcenter-tab-content'>
<div id='comcenter-tab-friends-content-lists-wrapper'>
<surf:container id='comcenter-surface-friendrequests'>
</surf:container>
<surf:container id='comcenter-surface-friends'>
<ul class='comcenter-list'>
<li id='comcenter-offline-separator' class='comcenter-separator showing-offline'>
<div class='dropdownicon'></div>
<surf:container id='comcenterOfflineFriends'>
<span>В игре</span>
</li>";
while ($array = mysql_fetch_assoc($fres))
{
$fullnick = $array['tag'] . '' . $array['nickname'];
$resTime = $timer - $array['visit'];
$avatar = $array['avatar'];
$score = $array['score'];
foreach ($server_list as $server)
{
$server_list = lgsl_sort_servers($server_list);
$misc = lgsl_server_misc($server);
foreach ($server['p'] as $player)
{
$stat = "online";
$stat2 = "online";
if ($array['dolznost'] == "Лидер клана")
{$cl = "<img src='modules/img/cl.png' style='width:10px;' title='Лидер клана ".$array['team']."'>";}
echo "
<li id='comcenter-2832660339291615977' class='comcenter-friend-item comcenter-friend comcenter-friend-$stat2 ' rel='2832660339291615977'>
<div class='comcenter-friend-draggable'></div>
<div class='comcenter-avatar'>
<div rel='2832660339291615977' class='base-avatar-container base-avatar-size-small'>
<div class='base-avatar-status-overlay base-avatar-status-overlay-$stat'>
<img src='profile/avatars/".$avatar."' width='22' height='22' onerror=\"this.src='profile/avatars/noAvatar.png'\">
</div>
</div>
</div>
<div class='comcenter-username comcenter-username-idle'>
<a class='comcenter-username-link' href='profile.php?id=".$array['id']."' >$fullnick".$array['nickend']." ($score) $cl $cw $ban
</a>
<div class='comcenter-username-away'> ";
if($stat == "playing")
{
if($array['ccstatus'] == "2")
{
if($array['gender'] == "Парень")
{echo "<font color='orange'>Отошел</font>";}
else
{echo "<font color='orange'>Отошла</font>";}
}
else if($array['ccstatus'] == "3")
{
if($array['gender'] == "Парень")
{echo "<font color='red'>Занят</font>";}
else
{echo "<font color='red'>Занята</font>";}
}
else
{
echo "<font color='steelblue'>В сети</font>";
}
}
else if($stat == "online")
{
echo "<font color='#5bb138'>{$server['s']['name']}</font>";
}
else
{
echo "Вне системы";
}
echo "</div>
</div>
<div class='comcenter-interact-container'>
<a href='{$misc['software_link']}'>
<div title='Присоединиться к игре' class='bubble-title-left join-friend-submit-link comcenter-interact-playing'>
</div> </a>
<div class='comcenter-interact-container'>
</div>
</li> ";
}
}
}
}
echo"
<li id='comcenter-offline-separator' class='comcenter-separator showing-offline'>
<div class='dropdownicon'></div>
<surf:container id='comcenterOfflineFriends'>
<span>Список пользователей</span>
</li>";
$fres2 = mysql_query("SELECT * FROM users ORDER BY visit DESC,id");
$num_rows = mysql_num_rows($fres2);
while ($array = mysql_fetch_assoc($fres2))
{
$fullnick = $array['tag'] . '' . $array['nickname'];
$resTime = $timer - $array['visit'];
$avatar = $array['avatar'];
if($resTime < 300)
{
$db_stat = 1;
$stat = "playing";
$stat2 = "online";
}
else
{
$db_stat = 0;
$stat = "offline";
$stat2 = "offline";
}
if ($array['dolznost'] == "Лидер клана")
{$cl = "<img src='modules/img/cl.png' style='width:10px;' title='Лидер клана ".$array['team']."'>";}
else
{$cl = "";}
echo "
<li id='comcenter-2832660339291615977' class='comcenter-friend-item comcenter-friend comcenter-friend-$stat2 ' rel='2832660339291615977'>
<div class='comcenter-friend-draggable'></div>
<div class='comcenter-avatar'>
<div rel='2832660339291615977' class='base-avatar-container base-avatar-size-small'>
<div class='base-avatar-status-overlay base-avatar-status-overlay-$stat'>
<img src='profile/avatars/".$avatar."' width='22' height='22' onerror=\"this.src='profile/avatars/noAvatar.png'\">
</div></div></div>
<div class='comcenter-username comcenter-username-idle'>
<a class='comcenter-username-link' href='profile.php?id=".$array['id']."' >$fullnick".$array['nickend']." $cl $cw $ban
</a>
<div class='comcenter-username-away'>
";
if($stat == "playing")
{
if($array['ccstatus'] == "2")
{
if($array['gender'] == "Парень")
{echo "<font color='orange'>Отошел</font>";}
else
{echo "<font color='orange'>Отошла</font>";}
}
else if($array['ccstatus'] == "3")
{
if($array['gender'] == "Парень")
{echo "<font color='red'>Занят</font>";}
else
{echo "<font color='red'>Занята</font>";}
}
else
{
echo "<font color='steelblue'>В сети</font>";
}
}
else if($stat == "online")
{
echo "<font color='#5bb138'>Играет в Modern Warfare</font>";
}
else
{
echo "Вне системы";
}
echo "</div>
</div>
<div class='comcenter-interact-container'>
<a href='http://bfgc.agh.su/find-players2.php?search=".$array['xuid']."&searchtype=3'><button title='Совпадения' class='bubble-title-left comcenter-interact-chat'></button></a>
</div>
</li> ";
}
echo"
</ul>
</surf:container>
</div>
</div>
<surf:container id='comcenter-party'>
<div class='comcenter-settings'>
<div class='base-left'>
</div>
<div class='base-right'>
<span class='base-button-party-clean-button'><div class='comcenter-chat-group-icon'></div>Игроки: $num_rows</span>
</div>
</div>
</surf:container>
</div>
</surf:container>
";}}
?>
Спустя 25 минут, 58 секунд (1.08.2012 - 09:25) TMake написал(а):
Ром@шка Пришло время изучить MVC
Спустя 12 минут, 45 секунд (1.08.2012 - 09:38) YVSIK написал(а):
первым делом , чтоб было видно надо лесинкой разметить сам код,
что во что вложено , пример:
если ИФ имеет вложенный ещё в какой-то ИФ, то пишем так:
а нестолбиком как у тебя
второе
самое время разделить где будет разметка и где код <?php....?>
вот таким образом
уже будет видно где и что))
код может быть неверен он сделан для наглядности только , как пример , немного вырезок из твоего кода наугад
что во что вложено , пример:
если ИФ имеет вложенный ещё в какой-то ИФ, то пишем так:
if($stat == "playing")
{
if($array['ccstatus'] == "2")
{
if($array['gender'] == "Парень")
{
echo "<font color='orange'>Отошел</font>";
}
else
{
echo "<font color='orange'>Отошла</font>";
}
}
а нестолбиком как у тебя
второе
самое время разделить где будет разметка и где код <?php....?>
вот таким образом
<?php
$fres = mysql_query("SELECT * FROM users ORDER BY visit DESC,id");
echo
?>
<body id='base-bf3-body' class='new-base-bf3-body is-loggedin fullwidth'>
..................................................
<span>В игре</span>
</li>
<?php
while ($array = mysql_fetch_assoc($fres))
?>
уже будет видно где и что))
код может быть неверен он сделан для наглядности только , как пример , немного вырезок из твоего кода наугад
Спустя 31 минута, 24 секунды (1.08.2012 - 10:09) YVSIK написал(а):
Ром@шка
ещё у тебя хромает логика вложеннотей
не пиши так
когда вложеныые ИФы и тут-же всречаются ИФ_ЕЛСЕ
то так интерпретатору будет понятней и тебе самой возможность уйти от каши
потому он у тебя и маится)), что и зечем выполнять и, и бегает туда суда все время возвращаясь что он ещё пропустил и что не учел.)))
ещё у тебя хромает логика вложеннотей
не пиши так
Свернутый текст
if($array['ccstatus'] == "2")
{
if($array['gender'] == "Парень")
{echo "<font color='orange'>Отошел</font>";}
else
{echo "<font color='orange'>Отошла</font>";}
}
else if($array['ccstatus'] == "3")
{
if($array['gender'] == "Парень")
{echo "<font color='red'>Занят</font>";}
else
{echo "<font color='red'>Занята</font>";}
}
else
когда вложеныые ИФы и тут-же всречаются ИФ_ЕЛСЕ
то так интерпретатору будет понятней и тебе самой возможность уйти от каши
<?php
if(....)
{
if else'';
}
{
if else'';
}
{
if else'';
}
}
?>
потому он у тебя и маится)), что и зечем выполнять и, и бегает туда суда все время возвращаясь что он ещё пропустил и что не учел.)))
Спустя 51 минута, 32 секунды (1.08.2012 - 11:01) altairo2087 написал(а):
...$fres = mysql_query("SELECT * FROM users ORDER BY visit DESC,id");...
зачем 2 раза за страницу долбить базу одним и тем же запросом:)
или пжди... он под if'ом. Как сказал Гарик из Камеди: "Все я запутался"
сделай обработку БД в начале страницы, а потом просто используй выборку. И звездочку убери в запросе, конкретизируй что выбираешь.
зачем 2 раза за страницу долбить базу одним и тем же запросом:)
или пжди... он под if'ом. Как сказал Гарик из Камеди: "Все я запутался"

сделай обработку БД в начале страницы, а потом просто используй выборку. И звездочку убери в запросе, конкретизируй что выбираешь.
Спустя 1 час, 4 минуты, 17 секунд (1.08.2012 - 12:05) Ром@шка написал(а):
Цитата (altairo2087 @ 1.08.2012 - 09:01) |
или пжди... он под if'ом. Как сказал Гарик из Камеди: "Все я запутался" ![]() ь. |
Я тоже) Про if вообще ничего не поняла(
Спустя 2 минуты, 8 секунд (1.08.2012 - 12:07) inpost написал(а):
Игроков хоть не 1000? Если их 100-200, то вся страница за исключением:
$server_list = lgsl_sort_servers($server_list);
$misc = lgsl_server_misc($server);
Будет загружаться за ~0.5 сек. Далее просто передаваться картинки... Я надеюсь, под долгой загрузкой ты имела ввиду "появление первых данных на экране", а не дожидания всех данных на экране.
А с теми функциями я не знаком, поэтому про их скорость ничего ответить не могу.
Для того, чтобы ты понимала скрипт и ориентировалась в нём, а так же другим людям тоже удобно было ПОНИМАТЬ его, а не кричать: "я запутался", надо использовать один из популярных стилей кодирования. Об этом почитай в гугле и выбери оптимальный для тебя: https://www.google.ru/#hl=ru&newwindow=1&ou...iw=1920&bih=987
П.С. Гугл перешел на https? Хм...
$server_list = lgsl_sort_servers($server_list);
$misc = lgsl_server_misc($server);
Будет загружаться за ~0.5 сек. Далее просто передаваться картинки... Я надеюсь, под долгой загрузкой ты имела ввиду "появление первых данных на экране", а не дожидания всех данных на экране.
А с теми функциями я не знаком, поэтому про их скорость ничего ответить не могу.
Для того, чтобы ты понимала скрипт и ориентировалась в нём, а так же другим людям тоже удобно было ПОНИМАТЬ его, а не кричать: "я запутался", надо использовать один из популярных стилей кодирования. Об этом почитай в гугле и выбери оптимальный для тебя: https://www.google.ru/#hl=ru&newwindow=1&ou...iw=1920&bih=987
П.С. Гугл перешел на https? Хм...
Спустя 36 минут, 8 секунд (1.08.2012 - 12:44) Ром@шка написал(а):
Игроков хоть не 1000?
Серверов 306 и на каждом по 14-48 игроков.
Конечно много
Серверов 306 и на каждом по 14-48 игроков.
Конечно много
Спустя 3 минуты, 11 секунд (1.08.2012 - 12:47) DarkLynx написал(а):
Честно говоря не очень вглядывался в скрипт.. У тебя на странице выводится статистика игроков по всем 306 серверам сразу?
Спустя 15 минут, 41 секунда (1.08.2012 - 13:02) Ром@шка написал(а):
выходит что так.
вот мониторинг: http://bframe.ru/
логин: test
пароль: 123321
Код из первого поста это код правой колонки после авторизации.
Понять не могу из-за чего она грузится год**
вот мониторинг: http://bframe.ru/
логин: test
пароль: 123321
Код из первого поста это код правой колонки после авторизации.
Понять не могу из-за чего она грузится год**
Спустя 14 минут, 55 секунд (1.08.2012 - 13:17) DarkLynx написал(а):
Цитата (Ром@шка @ 1.08.2012 - 11:02) |
выходит что так. вот мониторинг: http://bframe.ru/ логин: test пароль: 123321 Код из первого поста это код правой колонки после авторизации. Понять не могу из-за чего она грузится год** |
Не знаю как у Вас, у меня загрузилась приемлемо быстро...
Что могу посоветовать.. Конечно это подойдет под вашу задачу.
Разделить страницу на сервера.
Скриптом выводить только их названия и далее при клике на название сервера ajax подгружать данные по игрокам по этому серверу.
Спустя 22 минуты, 15 секунд (1.08.2012 - 13:40) inpost написал(а):
PHP отдаёт информацию МОМЕНТАЛЬНО. Далее лишь время на то, чтобы браузер распарсил код и вывел его на странице. + подкачка HTML данных. Это всё нормально для вывода на странице несколько тысяч данных.
Спустя 4 минуты, 27 секунд (1.08.2012 - 13:44) DarkLynx написал(а):
Цитата (inpost @ 1.08.2012 - 11:40) |
PHP отдаёт информацию МОМЕНТАЛЬНО. Далее лишь время на то, чтобы браузер распарсил код и вывел его на странице. + подкачка HTML данных. Это всё нормально для вывода на странице несколько тысяч данных. |
Безусловно, но согласись, что подгрузка 10 тысяч (например) табличных html строк со всеми стилями и картинками затянут процесс полной прогрузки страницы, и подгружать эти самые табличные строки только по мере необходимости ajax'ом весьма не самое дурное решение..
Мне вот например не нужно смотреть 305 серверов, я хочу только один.. зачем мне ждать пока они подгрузятся если меня интересует только 1..
Спустя 50 минут, 39 секунд (1.08.2012 - 14:35) inpost написал(а):
DarkLynx
Для этого отлично подойдут различные фильтры, или в крайнем случае, как ты сказал, группировка.
Для этого отлично подойдут различные фильтры, или в крайнем случае, как ты сказал, группировка.
Спустя 8 минут, 34 секунды (1.08.2012 - 14:43) altairo2087 написал(а):
можно в firebug например посмотреть шкалу загрузки по времени.
Mozilla Firefox -> дополнение Firebug (если еще нет)
F12 -> вкладка "сеть"
видно, что как и сколько грузится.
Mozilla Firefox -> дополнение Firebug (если еще нет)
F12 -> вкладка "сеть"
видно, что как и сколько грузится.