function check_mobile_device() { $mobile_agent_array = array('ipad', 'iphone', 'android', 'pocket', 'palm', 'windows ce', 'windowsce', 'cellphone', 'opera mobi', 'ipod', 'small', 'sharp', 'sonyericsson', 'symbian', 'opera mini', 'nokia', 'htc_', 'samsung', 'motorola', 'smartphone', 'blackberry', 'playstation portable', 'tablet browser'); $agent = strtolower($_SERVER['HTTP_USER_AGENT']); foreach ($mobile_agent_array as $value) { if (strpos($agent, $value) !== false) return true; } return false; } $is_mobile_device = check_mobile_device(); if($is_mobile_device){ $mobile_device = 1; }else{ $mobile_device = 2; } //создадим столбец в users со значением enum('0','1','2') //пишем useru 1 мобильное устройство, 2 ПК. //откатим на 30 минут, что бы не писать лишний раз в таблицу. if($user['online'] < time()-1800){ mysql_query('UPDATE `users` SET `agent` = "'.$mobile_device.'" WHERE `id` = "'.$user['id'].'"'); } //выведем все, если у usera agent = 0, то пишем что не известен, далее тащим данные. echo ''.($user['agent'] == 0) ? 'Не известно' : (($user['agent'] == 1) ? 'С мобильного' : 'С ПК').''; На этом все. Меньше запросов и текста в базе.