[web]л2топ команда к мускулу
кто зареган на l2top знает о чем я
_http://l2top.ru/?act=rules
Пример php-скрипта:
$mssql_server="000.000.000.000";
$mssql_db="lin2world";
$CONN = mssql_connect($mssql_server, "user", "pass");
if ($CONN) {
mssql_select_db($mssql_db);
$result = mssql_query("exec playersnumber", $CONN);
$online=mssql_fetch_row($result);
$online=$online[0];
} else {
$online = -1;
}
$file = fopen("/web/online.txt", "w");
fwrite($file, $online);
fclose($file);
mssql_close($CONN);
Пример процедуры в БД:
CREATE PROCEDURE [dbo].[playersnumber]
--@pl_number int output
AS
--SELECT @pl_number=count(*) FROM user_data WHERE login>logout AND logout>0 AND login>0
SELECT count(*) FROM user_data with (nolock) WHERE login>logout
GO
то что пхпшку надо вставить в online.php и настроить понятно,а вот что вводить в мускул непойму,ввожу что написано-выдает ошибку,кому нетрудно объясните неучу что писать и в какой последовательности
$mssql_db="lin2world";
$CONN = mssql_connect($mssql_server, "user", "pass");
if ($CONN) {
mssql_select_db($mssql_db);
$result = mssql_query("exec playersnumber", $CONN);
$online=mssql_fetch_row($result);
$online=$online[0];
} else {
$online = -1;
}
$file = fopen("/web/online.txt", "w");
fwrite($file, $online);
fclose($file);
mssql_close($CONN);
Это для MsSql. а у тебя я так понял стоит mysql.
Вот тебе лекарство.
$host="host";
$user="root";
$pass="pass";
$db="l2jdb";
$conn = mysql_connect($host, $user, $pass); mysql_select_db($db, $conn);
$query=mysql_query("SELECT COUNT(*) FROM `characters` WHERE online=1 AND accesslevel<5", $conn);
$online = mysql_fetch_array($query);
$file = fopen("online.txt", "w");
fwrite($file, $online[0]);
fclose($file);
mysql_close($conn);
?>
Обзави этот фаил config.php, и кинь его в корень сайта, затем создай online.txt фаил "пустой" после его тоже заливаеш в корень сайта, после настрой конфиг и поставь его под Cron задание.
_http://ru.wikipedia.org/wiki/Cron
Фаил под задание можно через С панель если канешно она у тебя есть. и вапще если есть такая система. Если есть то тебе повезло.
strongo: дело ясное что дело темное,ладно покарланю еще пару часов на мануалами
На самом деле все довольно таки легко... создаешь config.php с таким кодом
$host="host";
$user="root";
$pass="pass";
$db="l2jdb";
$conn = mysql_connect($host, $user, $pass); mysql_select_db($db, $conn);
$query=mysql_query("SELECT COUNT(*) FROM `characters` WHERE online=1 AND accesslevel<5", $conn);
$online = mysql_fetch_array($query);
$file = fopen("online.txt", "w");
fwrite($file, $online[0]);
fclose($file);
mysql_close($conn);
?>
вместо
$user="root";
$pass="pass";
$db="l2jdb";
пишешь свои данные...
создаешь пустой файл online.txt
кидаешь оба файла в корень сайта
открываешь планировщик CRON (ставишь выполнение и раз в 5 минут) и вписываешь полный путь
он должен выглядеть примерно так....
/usr/local/bin/php -f /home/твое имя/data/www/твой домен/config.php
Добавляешь запрос
--@pl_number int output
AS
--SELECT @pl_number=count(*) FROM user_data WHERE login>logout AND logout>0 AND login>0
SELECT count(*) FROM user_data with (nolock) WHERE login>logout
GO
Вот и все))
Проблема может быть в том что у тебя не запускается скрипт... попробуй запустить его самостоятельно твойсайт.ру/config.php будет белая страница...скрипт запущен.. он должен обновить показания в online.txt это значит дело в кроне... есть выход забить в Opery "обновлять каждые 3 минуты".. строку твойдомен.ру/config.php таким образом без привязки к крону ты можешь его обновлять..

