Войти

Показать полную графическую версию : Сервер Lineage 2, SQL PHP


DaVis
03-11-2006, 10:28
Я хочу раскретить свой сервер, вроде получается, но я задался вопросом
Как попасть в Элитную категорию серверов?

Ответ пришел таким:
Сделать у себя на сервере текстовый файл (к примеру, online.txt), который будет показывать количество игроков на Вашем сервере.
Необходимо создать php-скрипт и включить его в расписание cron

Код:

$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);


Создать процедуру в вашей базе данных (пример кода для MS SQL)
Код:

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

Подскажите, как мне это сделать?

mar
03-11-2006, 11:37
DaVis
код лучше оформлять тегом code, или php для читабельности
Извините, но в чем вопрос? Вам же, насколько я понимаю, выдали весь необходимый код? Меня только немного смущают слова именно о crontab в сочетании с mssql. Но, возможно, у Вас php на unix-машине, а mssql-на win?

DaVis
03-11-2006, 13:06
не правильно сформулировал) не как мне это сделать, а как мне переработать это всё под mySQL?

Prisoner
03-11-2006, 18:22
0) сделать дамп необходимых данных MSSQL и создать на их основе аналогичную структуру (с данными) в рамках mySQL СУБД;
1) использовать функции работы с mySQL в php: mysql_* вместо mssql_*;
2) преобразовать приведенные участки кода, убрав SQL-процедуру (портировать ее в php-представление).

Примерно так.




© OSzone.net 2001-2012