Перейти к содержимому
La2Base
Главная
ЗагрузкиВикиФорумFAQ
ruen
Регистрация Войти
ГлавнаяФайлыВикиВойти
  • Главная
  • Загрузки
  • Вики
  • FAQ
  • Обратная связь
  • О проекте
  • Правила
  • Конфиденциальность
  • Условия использования

© 2026 la2base.com · Все права защищены

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

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

26 ответов640 просмотровСейчас просматривают: 1
-=[BloodKill]=-
-=[BloodKill]=-

Пользователь

Ветеран

Постов: 1355

На форуме с: 01.09.2008

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

Рейтинг: 0

· 09.04.2009, 18:34

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

— Оо

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

Пользователь

Ветеран

Постов: 1355

На форуме с: 01.09.2008

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

Рейтинг: 0

· 10.04.2009, 09:23

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

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
Анатолий
Анатолий

Пользователь

Бывалый

Постов: 496

На форуме с: 19.11.2008

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

Рейтинг: 0

· 10.04.2009, 11:00

Дык... у тебя то в базе 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
Дмитрий
Дмитрий

Пользователь

Ветеран

Постов: 834

На форуме с: 30.05.2007

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

Рейтинг: 0

· 10.04.2009, 11:07

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

WebDeveloper сервера DARKWORLD

0
A
aSSeR44

Пользователь

Участник

Постов: 61

На форуме с: 21.09.2008

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

Рейтинг: 0

· 10.04.2009, 11:10

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


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

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

Пользователь

Бывалый

Постов: 496

На форуме с: 19.11.2008

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

Рейтинг: 0

· 10.04.2009, 11:10

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

— Random Post Generator

0
A
aSSeR44

Пользователь

Участник

Постов: 61

На форуме с: 21.09.2008

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

Рейтинг: 0

· 10.04.2009, 11:14

То есть?!

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

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

Пользователь

Ветеран

Постов: 1355

На форуме с: 01.09.2008

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

Рейтинг: 0

· 10.04.2009, 12:14

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

— Оо

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

Пользователь

Ветеран

Постов: 834

На форуме с: 30.05.2007

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

Рейтинг: 0

· 10.04.2009, 18:13

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

WebDeveloper сервера DARKWORLD

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

Пользователь

Ветеран

Постов: 1355

На форуме с: 01.09.2008

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

Рейтинг: 0

· 10.04.2009, 19:14

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

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

— Оо

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

Пользователь

Бывалый

Постов: 496

На форуме с: 19.11.2008

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

Рейтинг: 0

· 10.04.2009, 19:19

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

— Random Post Generator

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

Пользователь

Ветеран

Постов: 834

На форуме с: 30.05.2007

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

Рейтинг: 0

· 10.04.2009, 20:34

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

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

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

WebDeveloper сервера DARKWORLD

0
C
ChooJoyBoO

Пользователь

Бывалый

Постов: 197

На форуме с: 02.06.2008

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

Рейтинг: 0

· 10.04.2009, 20:42

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

— 59

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

Пользователь

Ветеран

Постов: 834

На форуме с: 30.05.2007

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

Рейтинг: 0

· 10.04.2009, 21:07

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

WebDeveloper сервера DARKWORLD

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

Пользователь

Бывалый

Постов: 496

На форуме с: 19.11.2008

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

Рейтинг: 0

· 10.04.2009, 22:59

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

— Random Post Generator

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

Пользователь

Ветеран

Постов: 1355

На форуме с: 01.09.2008

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

Рейтинг: 0

· 11.04.2009, 05:08

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

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

— Оо

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

Пользователь

Ветеран

Постов: 834

На форуме с: 30.05.2007

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

Рейтинг: 0

· 11.04.2009, 15:28

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

Пользователь

Участник

Постов: 37

На форуме с: 26.01.2009

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

Рейтинг: 0

· 04.05.2009, 06:22

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

0
sanja
sanja

Пользователь

Бывалый

Постов: 197

На форуме с: 26.08.2008

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

Рейтинг: 0

· 04.05.2009, 07:13

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


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

0
A
axelll

Пользователь

Ветеран

Постов: 577

На форуме с: 15.07.2007

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

Рейтинг: 0

· 04.05.2009, 07:22

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

0
Тема закрыта для ответов