Вы не зашли.
Главная » PHP » PHP+MySQL
#1001. Gemorroj Off (107)
Administrator
2011.04.08 18:06
создаешь таблицу куда заносишь подарки и ID пользователей.
#1002. Nu3oN Off (11)
Moderator
2011.04.08 22:10
гуманно ли такое решение?
В общем суть функции в том, что когда в цикле выводятся сообщения, и нужно получать информацию о юзере!

Код:
span style="color: #0000BB"><?phpfunction user_info($id){ global $getFunction; static $stat = array(); if (!empty($stat[$id])) return $stat[$id]; $set = $return = array(); if ($getFunction -> cacheArray('users_info', 7200) -> life() < time()) { $getUsers = DB :: $dbh -> query("SELECT `user_id`, `user_login`, `user_level`, `user_points`, `user_click` FROM %users%;"); while ($row = $getUsers -> fetch()) { $set['login'] = $row['user_login']; if ($row['user_level'] == 50) { $set['level'] = 'Управляющий'; } else if ($row['user_level'] == 100) { $set['level'] = 'Помощник'; } else if ($row['user_level'] == 200) { $set['level'] = 'Зам.Босса'; } else if ($row['user_level'] == 300) { $set['level'] = 'Босс'; } else { $set['level'] = 'Местный'; } $set['point'] = $row['user_points']; if ($row['user_click'] > time() - 120) { $set['click'] = 'Онлайн'; } else { $set['click'] = 'Оффлайн'; } $result[$row['user_id']] = $set; } $getFunction -> cacheArray('users_info', $result) -> set(); } else { $result = $getFunction -> cacheArray('users_info') -> get(); } if (!empty($result[$id])) { $return = $result[$id]; } return $stat[$id] = $return;}
Я буду лучше голоден, но между креслом и рулем и на дороге.
#1003. Gemorroj Off (107)
Administrator
2011.04.08 22:10
в смысле сама функция user_info выполняется в цикле?
есть же кеширование, как я вижу, норм значит)
еще совет, замени везде time() на $_SERVER['REQUEST_TIME'] либо вынеси в константу и юзай ее...
#1004. Nu3oN Off (11)
Moderator
2011.04.08 23:11
Gemorroj написал:
в смысле сама функция user_info выполняется в цикле?
есть же кеширование, как я вижу, норм значит)
еще совет, замени везде time() на $_SERVER['REQUEST_TIME'] либо вынеси в константу и юзай ее...
да, это в цикле все происходит! Заменил) я че то даже как то не задумывался о этом))
Я буду лучше голоден, но между креслом и рулем и на дороге.
#1005. Gemorroj Off (107)
Administrator
2011.04.08 23:11
а что такое 7200 ? время жизни кэша? вынеси это в настройки какие-нить, заманаешься потом с такими захардкожеными значениями.
#1006. Nu3oN Off (11)
Moderator
2011.04.08 23:11
Gemorroj написал:
а что такое 7200 ? время жизни кэша? вынеси это в настройки какие-нить, заманаешься потом с такими захардкожеными значениями.
ну так оно и планируется, просто на время отладки пишу так
Я буду лучше голоден, но между креслом и рулем и на дороге.
#1007. tipsun Off (19)
Moderator
2011.04.08 23:11
Функция мега продуманно написана. smile
Возьму на заметку.
- - - -
time() - реальное время.
$_SERVER['REQUEST_TIME'] - время клика.
--
Если ставить $_SERVER['REQUEST_TIME'], то смело из цикла всё махинации с лимитом тунеянства (-120), наверно что-ли...
Отредактировано tipsun (2011.04.09 00:12)
#1008. Gemorroj Off (107)
Administrator
2011.04.09 08:08
tipsun, поскольку скрипт, как правило работает менее секунды, то time() и $_SERVER['REQUEST_TIME'] отличаться не будут. и в любом случае, нам достаточно $_SERVER['REQUEST_TIME'].
#1009. Syngularity
Гость
2011.04.09 10:10
#996 скопируйте пожалуйста в .txt
#1010. tipsun Off (19)
Moderator
2011.04.09 10:10
TxT #996 utf-8
Вложения
new_file.txt 639b [загрузок: 629]
Страниц: 199 100 101 102 103119 Все
Главная
WEB
PunBB Mod v0.6.2
0.040 s