1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Результаты поиска

  1. k0nst
  2. k0nst
  3. k0nst
  4. k0nst
  5. k0nst
  6. k0nst
  7. k0nst
    Данный скрипт предназначен для записывания в базу Mysql логов, содержащих: максимальный дневной он-лайн (записывается в таблицу konst_onllog) максимальный вечерний он-лайн количество времени (за сутки), проводимого ГМ'ами в игре (записывается в таблицу konst_gmtime, время в минутах) Пока выкладываю тестовый вариант, для опытных пользователей. В будущем возможно напишу интерфейс. Скрипт был написан мною с акцентом на sql-запросы (практика). код php-файла: <?php $Link = mysql_Connect('localhost', 'root', 'пароль'); mysql_Select_Db('pw', $Link); $GMid = mysql_Query("SELECT DISTINCT `userid` FROM `auth`"); //$GMi = mysql_fetch_row($GMid); $GMcount = mysql_Query("SELECT COUNT(DISTINCT `userid`) FROM `auth`"); $GMcou = mysql_fetch_row($GMcount); $test1 = MySQL_Query("SELECT * FROM `konst_onllog` WHERE `time`='Day' && `date`=DATE(NOW())"); $test2 = MySQL_Query("SELECT * FROM `konst_onllog` WHERE `time`='Night' && `date`=DATE(NOW())"); $test3 = MySQL_Query("SELECT * FROM `konst_gmtime` WHERE `date`=DATE(NOW())"); if (MySQL_Num_Rows($test1)) { MySQL_Query("UPDATE `pw`.`konst_onllog` SET `count` =(SELECT COUNT(*) FROM point WHERE zoneid='1') WHERE date=DATE(now()) && count<(SELECT COUNT(*) FROM point WHERE zoneid='1') && time = 'Day' && TIME(NOW())+0<180000"); } else { MySQL_Query("INSERT INTO `pw`.`konst_onllog` (`count` ,`date`,`time`) VALUES ('0', now(),'Day')"); MySQL_Query("UPDATE `pw`.`konst_onllog` SET `count` =(SELECT COUNT(*) FROM point WHERE zoneid='1') WHERE date=DATE(now()) && count<(SELECT COUNT(*) FROM point WHERE zoneid='1') && time = 'Day' && TIME(NOW())+0<180000;"); } if (MySQL_Num_Rows($test2)) { MySQL_Query("UPDATE `pw`.`konst_onllog` SET `count` =(SELECT COUNT(*) FROM point WHERE zoneid='1') WHERE date=DATE(now()) && count<(SELECT COUNT(*) FROM point WHERE zoneid='1') && time = 'Night' && TIME(NOW())+0>180000"); } else { MySQL_Query("INSERT INTO `pw`.`konst_onllog` (`count` ,`date`,`time`) VALUES ('0', now(),'Night')"); MySQL_Query("UPDATE `pw`.`konst_onllog` SET `count` =(SELECT COUNT(*) FROM point WHERE zoneid='1') WHERE date=DATE(now()) && count<(SELECT COUNT(*) FROM point WHERE zoneid='1') && time = 'Night' && TIME(NOW())+0>180000;"); } if (MySQL_Num_Rows($test3)) { for($i=0;$i<$GMcou[0];$i++) { $GMi = MySQL_result($GMid, $i, 'userid'); MySQL_Query("UPDATE `konst_gmtime` SET minuts = minuts+5 WHERE ID='$GMi' && date=date(now()) && (SELECT DISTINCT zoneid FROM `point` WHERE `uid` = '$GMi')=1;"); } } else { for($i=0;$i<$GMcou[0];$i++) { $GMi = MySQL_result($GMid, $i, 'userid'); MySQL_Query("INSERT INTO `pw`.`konst_gmtime` (`ID`, `minuts`, `date`) VALUES ('$GMi', '0', NOW());"); } } ?> sql-код создания таблицы konst_gmtime (лог посещаемости ГМ) CREATE TABLE IF NOT EXISTS `konst_gmtime` ( `Num` int(11) NOT NULL AUTO_INCREMENT, `ID` int(11) NOT NULL, `minuts` int(11) NOT NULL, `date` date NOT NULL, PRIMARY KEY (`Num`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; sql-код создания таблицы konst_onllog (лог он-лайна) CREATE TABLE IF NOT EXISTS `konst_onllog` ( `Num` int(11) NOT NULL AUTO_INCREMENT, `count` int(11) NOT NULL, `date` date NOT NULL, `time` varchar(10) NOT NULL, PRIMARY KEY (`Num`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; crontab-код (для активации скрипта каждые 5 минут): 0,5,10,15,20,25,30,35,40,45,50,55 * * * * GET http://localhost/место расположения/script.php Пригодится - рад. Не пригодится - лесом.
    Автор темы: k0nst, 24 дек 2012, ответов - 11, в разделе: PW Разработки
  8. k0nst
  9. k0nst
  10. k0nst
  11. k0nst
  12. k0nst
  13. k0nst
  14. k0nst
  15. k0nst
  16. k0nst
  17. k0nst
  18. k0nst
  19. k0nst
  20. k0nst