Skip to content
La2Base
Home
DownloadsWikiForumFAQ
Search
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

ruen
Forum/Web обвязка/[ищу скрипт] Максимальный онлайн
Search

[ищу скрипт] Максимальный онлайн

26 replies614 viewsCurrently viewing: 1
-=[BloodKill]=-
-=[BloodKill]=-

User

Ветеран

Posts: 1355

На форуме с: 09/01/2008

Репутация: +1179

Рейтинг: 0

· 04/09/2009, 06:34 PM

Дайте скрипт что бы показывался максимальный онлайн сервера
Зарание спасибо!

— Оо

0
-=[BloodKill]=-
-=[BloodKill]=-

User

Ветеран

Posts: 1355

На форуме с: 09/01/2008

Репутация: +1179

Рейтинг: 0

· 04/10/2009, 09:23 AM

Нашел скрипт:

sql

SQL
CREATE TABLE `records` (
`id` int(10) unsigned NOT NULL auto_increment,
`record` int(10) unsigned default NULL,
`date` text,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `records` (`id`,`record`,`date`) VALUES (1,1,'1');



php
Код
<?php
$host="localhost";
$user="root";
$pass="root";
$db="l2db";

mysql_connect($host, $user, $pass) or die("нет коннекта к $host");
mysql_select_db($db) or die("нет коннекта к $db");

#кол-ва онлайна
$online=mysql_fetch_row(mysql_query("SELECT COUNT(online) FROM characters WHERE online=1"));

#последний максимальный рекорд на сегодня
$record=mysql_fetch_row(mysql_query("SELECT * FROM records ORDER BY id DESC limit 1"));

#максимальный рекорд
$record_max=mysql_fetch_row(mysql_query("SELECT date,record FROM records where record>0 ORDER BY record DESC limit 1"));

#текущее время
$mktime=mktime();

#текущая дата
$date=date('y m d');

#дата у послед. максим. онлана на сегодня
$record_date=date('y m d',$record[2]);

#дата максимального рекорда
#$date_record=date('d m Y',$record_max[0]);

#если дата max. сегоднешнего дня равна сегоднешней дате, то идем дальше, если нет то проходим запрос
if($record_date==$date)
{
    #если онлайн больше рекорда, то обновляем рекорд у сегоднешней даты
    if($online[0] > $record[1])
    {mysql_query("UPDATE records_o SET record=$online[0] WHERE date=$record[2]");}
}
#если все запросы не верны, то создаем рекорд онлайна текущего дня, обычно в 00:00ч.
else
{mysql_query("INSERT INTO records_o VALUES ('id', ".$online[0].", ".$mktime.")");}


echo'
<TABLE>
    <TR>
        <TD><u>'.$server_name.'</u></TD>
        <TD><font color=00FF00><u>'. $online[0].'</u></font> / '.$record_max[1].'</TD>
    </TR>
</TABLE>
';
?>



Захажу на скрипт там пишет:

107 / 1

т.е максимальный онлайн пишет "1" как исправить?

— Оо

0
Анатолий
Анатолий

User

Бывалый

Posts: 496

На форуме с: 11/19/2008

Репутация: +124

Рейтинг: 0

· 04/10/2009, 11:00 AM

Дык... у тебя то в базе records, чтобы создал стоит (сотрим отсюда):

Код
INSERT INTO `records` (`id`,`record`,`date`) VALUES (1,1,'1');

в таблице record значение 1. И как оно, по-твоему, должно меняться? Это делается сервером, если там есть в ядре такие функции. Н-р, они изначально есть в l2jfree и база там уже создается record, куда каждый день заносятся рекорды онлайна сервером. Так что... нужен другой скрипт с созданием временного кеша или просто создающий файлик record.txt (по типу как файл online.txt для л2топа) и при новом просмотре сайта, этот скрипт бы сравнивал значения в файле record. Если новое больше того, чт ов файле, то оно заменяется, если нет, то ничего не происходит...
Кто сделает?)

— Random Post Generator

0
Дмитрий
Дмитрий

User

Ветеран

Posts: 834

На форуме с: 05/30/2007

Репутация: +632

Рейтинг: 0

· 04/10/2009, 11:07 AM

id - auto increment, оно меняется автоматически внутренним счётчиком MySQL

WebDeveloper сервера DARKWORLD

0
A
aSSeR44

User

Участник

Posts: 61

На форуме с: 09/21/2008

Репутация: +8

Рейтинг: 0

· 04/10/2009, 11:10 AM

Те можете нормальный скрипт дать уже рабочий я не понял=(


Он будет так выглядеть ?
INSERT INTO `records` (`id`,`record`,`date`) VALUES (0,1,'1'); ??????

0
Анатолий
Анатолий

User

Бывалый

Posts: 496

На форуме с: 11/19/2008

Репутация: +124

Рейтинг: 0

· 04/10/2009, 11:10 AM

Я про таблицу record, а не про id, ведь сервер с ней никак не связан... (хотя я не знаю, что за сборка, мб там оно есть). Но скрипт мне, кстати, подойдет, Сенкс :)

— Random Post Generator

0
A
aSSeR44

User

Участник

Posts: 61

На форуме с: 09/21/2008

Репутация: +8

Рейтинг: 0

· 04/10/2009, 11:14 AM

То есть?!

Вот так что ли надо заливать?
INSERT INTO `records` (`id`,`record`,`date`) VALUES (1,0,'1');

0
-=[BloodKill]=-
-=[BloodKill]=-

User

Ветеран

Posts: 1355

На форуме с: 09/01/2008

Репутация: +1179

Рейтинг: 0

· 04/10/2009, 12:14 PM

Сборка базы финал
Киньте тогда нормальный скрипт под неё!
Зарание спасибо!!

— Оо

0
Дмитрий
Дмитрий

User

Ветеран

Posts: 834

На форуме с: 05/30/2007

Репутация: +632

Рейтинг: 0

· 04/10/2009, 06:13 PM

INSERT INTO `records` (`id`,`record`,`date`) VALUES (0,1,'1'); - не правильно
INSERT INTO `records` (`record`,`date`) VALUES ('1','1'); - правильно

WebDeveloper сервера DARKWORLD

0
-=[BloodKill]=-
-=[BloodKill]=-

User

Ветеран

Posts: 1355

На форуме с: 09/01/2008

Репутация: +1179

Рейтинг: 0

· 04/10/2009, 07:14 PM

Knokswille: INSERT INTO `records` (`id`,`record`,`date`) VALUES (0,1,'1'); - не правильно
INSERT INTO `records` (`record`,`date`) VALUES ('1','1'); - правильно

Сейчас максимальный онлайн показывает "1" как и было

— Оо

0
Анатолий
Анатолий

User

Бывалый

Posts: 496

На форуме с: 11/19/2008

Репутация: +124

Рейтинг: 0

· 04/10/2009, 07:19 PM

О чем я выше и толкую...

— Random Post Generator

0
Дмитрий
Дмитрий

User

Ветеран

Posts: 834

На форуме с: 05/30/2007

Репутация: +632

Рейтинг: 0

· 04/10/2009, 08:34 PM

правильно ... а чего ты хотел ? ты ведь пихаешь в ячейку значение 1

Цитата
INSERT INTO `records` (`record`,`date`) VALUES ('1','1');

а надо пихать текущий онлайн )

WebDeveloper сервера DARKWORLD

0
C
ChooJoyBoO

User

Бывалый

Posts: 197

На форуме с: 06/02/2008

Репутация: +17

Рейтинг: 0

· 04/10/2009, 08:42 PM

а нелегче тогда в html шаблона тупо написать? или я чего то недопонел

— 59

0
Дмитрий
Дмитрий

User

Ветеран

Posts: 834

На форуме с: 05/30/2007

Репутация: +632

Рейтинг: 0

· 04/10/2009, 09:07 PM

завтра если будет время - напишу под DLE )))

WebDeveloper сервера DARKWORLD

0
Анатолий
Анатолий

User

Бывалый

Posts: 496

На форуме с: 11/19/2008

Репутация: +124

Рейтинг: 0

· 04/10/2009, 10:59 PM

Ема, опять дле...

— Random Post Generator

0
-=[BloodKill]=-
-=[BloodKill]=-

User

Ветеран

Posts: 1355

На форуме с: 09/01/2008

Репутация: +1179

Рейтинг: 0

· 04/11/2009, 05:08 AM

ChooJoyBoO: а нелегче тогда в html шаблона тупо написать? или я чего то недопонел

Ручками писать не оч хочу каждый час to_become_senile.gif

— Оо

0
Дмитрий
Дмитрий

User

Ветеран

Posts: 834

На форуме с: 05/30/2007

Репутация: +632

Рейтинг: 0

· 04/11/2009, 03:28 PM

SQL
CREATE TABLE `toponline` (
`id` int(2) NOT NULL auto_increment,
`count` int(3) default NULL,
`date` varchar(20) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=cp1251;

INSERT INTO `toponline` VALUES ('1', '1', '10.04.2009 18:19');


Код
<?php
$dbuser = ""; // Пользователь
$dbpass = ""; // Пароль
$dbhost = ""; // Адресс БД
$dbname = ""; // Имя базы данных

$msconn = mysql_connect($dbhost, $dbuser, $dbpass) or die ("Ошибка соединения");
MYSQL_SELECT_DB($dbname) or die ("База не существует !");
mysql_query("SET NAMES 'cp1251';");

$onlineresult = mysql_query("SELECT count(*) FROM characters WHERE accessLevel = 0 AND online = 1");
$onlinenow = mysql_result($onlineresult, 0, 0);

$topresult = mysql_query("SELECT * FROM toponline");
$toprow = mysql_fetch_array($topresult);

if ($onlinenow <= $toprow[count])
{
$record = $toprow[count];
$data = $toprow[date];
}
else
{
$lastupdate = $_TIME;
$data = date("d.m.Y H:i", $lastupdate);
$update = mysql_query ("UPDATE toponline SET count='$onlinenow', date='$data' WHERE id=1");
}

echo "Рекорд онлайна: ".$record." был ".$data."<br>";
mysql_close();
?>


Скрипт работает. Доводите до ума, правьте, у меня нету ни желания, ни стимула, ни времени.

WebDeveloper сервера DARKWORLD

0
MaJIuHa
MaJIuHa

User

Участник

Posts: 37

На форуме с: 01/26/2009

Репутация: +3

Рейтинг: 0

· 05/04/2009, 06:22 AM

Сделала все как по последнему примеру,но ничего не получилось !

0
sanja
sanja

User

Бывалый

Posts: 197

На форуме с: 08/26/2008

Репутация: +280

Рейтинг: 0

· 05/04/2009, 07:13 AM

MaJIuHa: Сделала все как по последнему примеру,но ничего не получилось !


выдает какие то ошибки или что?

0
A
axelll

User

Ветеран

Posts: 577

На форуме с: 07/15/2007

Репутация: -99999999

Рейтинг: 0

· 05/04/2009, 07:22 AM

ох жесть какая.
ядро должно поддерживать эту функцию, если нет, то вам нужно будет каждые 3 минуты руками вбивать новое значения в базу))))

0
Topic is closed for replies