Страница 1 из 1

Это тема для тех кто понимает PHP

Добавлено: 15 июн 2013, 20:23
akmaljonmusaev
Здравствуйте! Я вот хотел на свой главный сайт поставит статус сервера Супернова (Сколько онлайн игроков и сколько зарегистрированных)
Сначало создал PHP файл туда этот код поставил

Код: Выделить всё

<?

define("MYSQLHOST", "localhost");
define("DBNAME", "ИМЯ БАЗЫ");
define("DBUSER", "Пользователь");
define("DBPASS", "Пароль");

$connect = mysql_connect(MYSQLHOST,DBUSER,DBPASS);

if(!$connect)
{
	exit('На сайте ведутся технические работы просим ждать!');
}
elseif(!mysql_select_db(DBNAME,$connect))
{
	exit('На сайте ведутся технические работы просим ждать!);
}

mysql_query('set character_set_results=utf8');
mysql_query('set character_set_client=utf8');
mysql_query('set character_set_connection=utf8');
mb_internal_encoding('UTF-8'); 

$online = mysql_num_rows(mysql_query("SELECT `id` FROM `sn_users` WHERE user_as_ally is null and onlinetime>" . (time()-900)));
$obshiy = mysql_num_rows(mysql_query("SELECT `id` FROM `sn_users`"));

echo 'Онлайн игроков: '.$online.'<br/>';
echo 'Зарегистрированных: '.$obshiy;

mysql_close($connect);
?>
CMS Главного сайта DLE что бы этот файл поставит я воспользовался этим кодом {include file="адрес файла"} но! Проблема в том что показывает только текст Онлайн игроков: и Зарегистрированных:! Но когда открываем сам файл по ссылке то показывает! Прошу помочь!

Re: Это тема для тех кто понимает PHP

Добавлено: 15 июн 2013, 22:26
killer
akmaljonmusaev,

Код: Выделить всё

<?

define("MYSQLHOST", "localhost");
define("DBNAME", "ИМЯ БАЗЫ");
define("DBUSER", "Пользователь");
define("DBPASS", "Пароль");

$connect = mysql_connect(MYSQLHOST,DBUSER,DBPASS);

if(!$connect)
{
    exit("На сайте ведутся технические работы просим ждать!");
}
elseif(!mysql_select_db(DBNAME,$connect))
{
    exit("На сайте ведутся технические работы просим ждать!");
}

mysql_query("set character_set_results=utf8");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_connection=utf8");
mb_internal_encoding("UTF-8"); 

$online = mysql_query("SELECT count(`id`) as count FROM `sn_users` WHERE user_as_ally is null and onlinetime > (UNIX_TIMESTAMP()-900)");
$obshiy = mysql_query("SELECT count(`id`) as count FROM `sn_users`");
$online = mysql_fetch_array($online);
$count_reg = mysql_fetch_array($obshiy);

?>
Онлайн игроков: <?=$online["count"]?><br/>
Зарегистрированных: <?=$count_reg["count"]?>
<?
mysql_close($connect);
?>
хотя, можно и $tpl->set("", ""); заюзать в index.php прописав нужное ;)

16.06.2013
файл поправлен

Re: Это тема для тех кто понимает PHP

Добавлено: 16 июн 2013, 05:52
akmaljonmusaev
killer писал(а):akmaljonmusaev,

Код: Выделить всё

<?

define("MYSQLHOST", "localhost");
define("DBNAME", "ИМЯ БАЗЫ");
define("DBUSER", "Пользователь");
define("DBPASS", "Пароль");

$connect = mysql_connect(MYSQLHOST,DBUSER,DBPASS);

if(!$connect)
{
    exit("На сайте ведутся технические работы просим ждать!");
}
elseif(!mysql_select_db(DBNAME,$connect))
{
    exit("На сайте ведутся технические работы просим ждать!");
}

mysql_query("set character_set_results=utf8");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_connection=utf8");
mb_internal_encoding("UTF-8"); 

$online = mysql_query("SELECT count(`id`) as count FROM `sn_users` WHERE user_as_ally is null and onlinetime > (UNIX_TIMESTAMP()-900)");
$obshiy = mysql_query("SELECT count(`id`) as count FROM `sn_users`");

?>
Онлайн игроков: <?=$online["count"]?><br/>
Зарегистрированных: <?=$obshiy["count"]?>
<?
mysql_close($connect);
?>
хотя, можно и $tpl->set("", ""); заюзать в index.php прописав нужное ;)
+

Типо вставки Модуля?

Re: Это тема для тех кто понимает PHP

Добавлено: 16 июн 2013, 05:55
akmaljonmusaev
И по подробнее можно? Просто я еще новичок!

Re: Это тема для тех кто понимает PHP

Добавлено: 16 июн 2013, 07:18
killer
akmaljonmusaev писал(а):И по подробнее можно? Просто я еще новичок!
в index.php после

Код: Выделить всё

require_once ROOT_DIR . '/engine/init.php'; 
добавить

Код: Выделить всё

require_once ROOT_DIR.'/engine/modules/supernova.php'; 
в файл supernova.php, в папке модулей, добавь:

Код: Выделить всё

<?

define("MYSQLHOST", "localhost");
define("DBNAME", "ИМЯ БАЗЫ");
define("DBUSER", "Пользователь");
define("DBPASS", "Пароль");

$connect = mysql_connect(MYSQLHOST,DBUSER,DBPASS);

if(!$connect)
{
    exit("На сайте ведутся технические работы просим ждать!");
}
elseif(!mysql_select_db(DBNAME,$connect))
{
    exit("На сайте ведутся технические работы просим ждать!");
}

mysql_query("set character_set_results=utf8",$connect);
mysql_query("set character_set_client=utf8",$connect);
mysql_query("set character_set_connection=utf8",$connect);
mb_internal_encoding("UTF-8"); 

$online = mysql_query("SELECT count(`id`) as count FROM `sn_users` WHERE onlinetime > (UNIX_TIMESTAMP()-900) AND `user_as_ally` IS NULL;",$connect);
$obshiy = mysql_query("SELECT count(`id`) as count FROM `sn_users` WHERE `user_as_ally` IS NULL",$connect);
$onlines = mysql_fetch_array($online);
$obshiys = mysql_fetch_array($obshiy);

$supernova = "Онлайн игроков: ".$onlines["count"]."<br/>\nЗарегистрированных: ".$obshiys["count"]."\n";
mysql_close($connect);
?>
возвращаемся в index.php, находим:

Код: Выделить всё

$tpl->load_template ( 'main.tpl' );
ниже добавляем:

Код: Выделить всё

$tpl->set ( "{supernova}", $supernova ); 
и в нужном шаблоне на месте которого хотите видеть подобную статистику ставите {supernova}