Если говорить более развернуто - вопрос будет звучать скорее "запрос в MySQL из PHP с учетом переменной из AS3". Все равно несколько каряво звучит, но все же.
Вот для начала рабочий код AS (точнее, его отрывок):
Код: Выделить всё
// создание запроса var stat_loader:URLLoader = new URLLoader(); var stat_request:URLRequest = new URLRequest("http://kurutah.da.xfes.ru/stat.php"); stat_request.method = URLRequestMethod.POST; // добавление параметров в запрос var stat_vars:URLVariables = new URLVariables(); stat_vars['auth_key'] = LoaderInfo(root.loaderInfo).parameters.auth_key; stat_vars['viewer_id'] = LoaderInfo(root.loaderInfo).parameters.viewer_id; // ID просматривающего приложение stat_request.data = stat_vars; // выполнение запроса stat_loader.load(stat_request); loader = new URLLoader(); var request:URLRequest = new URLRequest('http://kurutah.da.xfes.ru/stat.php'); loader.addEventListener(Event.COMPLETE, onComplete); loader.load(request); private function onComplete(e:Event):void { // выводим полученные данные в поле chislo chislo.chislo.text = loader.data; }
Код: Выделить всё
<?phpheader("Expires: Mon, 26 Jul 1997 05:00:00 GMT");header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");header("Cache-Control: no-cache, must-revalidate");header("Cache-Control: post-check=0,pre-check=0", false);header("Cache-Control: max-age=0", false);header("Pragma: no-cache"); // данные доступа к базе данных$db_host="///";$db_user="///";$db_password="///";$db_name = "kurutah_base";$table_name = "stat"; // данные приложения$app_id = '///'; // id приложения$api_secret = '///'; // защищенный ключ приложения $auth_key = $_POST['auth_key'];$viewer_id = $_POST['viewer_id']; $my_id='///'; //представим что тут мой айдишник $real_key = md5($app_id."_".$viewer_id."_".$api_secret); // соединение с БД mysql_connect($db_host, $db_user, $db_password) or die (mysql_error()); mysql_select_db($db_name) or die (mysql_error()); mysql_query("SET NAMES 'utf8'"); mysql_query('SET character_set_results = "UTF8"') or die(mysql_error()); // Выполняем запрос: если пользователя с таким id ещё нет в БД, то добавляем, если есть, то обновляем запись, прибавляя одно посещение (visits) $query = 'INSERT INTO `'.$table_name.'` (`uid`, `last_date`) VALUES ("'.$viewer_id.'","'.time().'") ON DUPLICATE KEY UPDATE `visits` = (`visits`+1), `last_date`="'.time().'";'; mysql_query($query); $query = 'SELECT * FROM `'.$table_name.'` WHERE `visits`>10;'; //ВОТ НА ЭТОТ МОМЕНТ СТОИТ ОБРАТИТЬ ВНИМАНИЕ, О НЁМ И ВОПРОС $sql = mysql_query($query); while ($sql_data = mysql_fetch_array($sql)) { echo $sql_data['uid'].' - '.$sql_data['visits']; } ?>
Код: Выделить всё
$query = 'SELECT * FROM `'.$table_name.'` WHERE `uid`="'.$my_id.'";';
То есть Вася Пупкин с айдишником 12345 зашел в приложение - и он должен увидеть сколько раз именно он посещал приложение, другими словами, в мускул должен быть отправлен запрос, ищущий строку, в которой uid равен 12345.
Я пробовал воткнуть переменную $viewer_id, но в таком случае у меня считается общее количество посещений на всех - и на меня, и на того Васю Пупкина и т.д.
ЗЫ: с базой данных все в порядке, на каждого пользователя создается своя строка и отдельно считается количество посещений, php так же создает строку, где значение uid равно нулю - там как раз и считаются общие посещения, и почему-то если я подставляю в запрос переменную viewer_id, то вместо uid просматривающего приложения возвращается именно то uid, равное нулю.
Объясняю немого коряво, но старался по-подробней. Буду рад помощи, ибо обрыл уже весь гугл и так и не нашел решения проблемы.