Проблемка с getProfiles

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Ответить
acpid
Сообщения: 76
Зарегистрирован: 02 июн 2010, 09:05

Проблемка с getProfiles

Сообщение acpid »

Доброго времени суток. Суть проблемы в следующем:

Есть база следующей структуры:

/////////////////////
Id
Id пользователя(вк)
Заголовок сообщения
Текст сообщения
Время сообщения
/////////////////////

вывожу список этих самых сообщения. Если выводить только заголовок и текст сообщения - проблем никаких. Но нужно по ид юзера получить его профиль для вывода имя/фамилье и аватарки. Сделал так: читая сообщения сформировал массив ID и с помощью getProfiles получил профили,но тут возникла проблема следующего вида:

например массив user id:

1111,2222,1111,5555

т.е. 1 и 3 сообщение написал один и тот же пользователь, при таком параметре uids getProfiles вернет мне чтото вроде

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?><response list="true"><user><uid>1111</uid><first_name>Фамилия1111</first_name><last_name>Имя1111</last_name><photo>http://cs109.vkontakte.ru/u00001/c_df2abf56.jpg</photo></user><user><uid>2222</uid><first_name>Имя2222</first_name><last_name>фамилия2222</last_name><photo>http://cs537.vkontakte.ru/u06492/c_28629f1d.jpg</photo></user><uid>5555</uid><first_name>Имя5555</first_name><last_name>фамилия5555</last_name><photo>http://cs537.vkontakte.ru/u06492/c_28629f1d.jpg</photo></user></response>
т.е. на мой запрос по сути по 4 ID он вернет ответ только по 3 по порядку,без повторов. Логично. Но как мне потом 2 раза вывести инфу по пользователю 1111?

Както сложно понаписал,но надеюсь поймете,может ктото както решал...
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Проблемка с getProfiles

Сообщение bodnar »

а что мешает решить в лоб?

у тебя есть массив по которому ты делал запрос
acpid писал(а):например массив user id:
1111,2222,1111,5555
сделал запрос, получил ответ

далее снова исходный массив перебираешь, берешь первый id и ищешь соответсвующую ему запись в ответе. потом второй и т.д., выведутся все с повторами

Не самый элегантный способ конечно.
tcsayan
Сообщения: 21
Зарегистрирован: 25 апр 2011, 16:02

Re: Проблемка с getProfiles

Сообщение tcsayan »

А вы пробовали делать запрос с дублями ID в запросе ?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Проблемка с getProfiles

Сообщение Александр »

Код: Выделить всё

// все профилиvar allUsers:Object = new Object(); // добавить массив одного профиля в allUsersvar oneUser:Array = new Array(); oneUser.push('Имя','Фамилия');allUsers["12345"] = oneUser;  // 12345 - id. Получим ассоциативный массив  // вытащим значениеtrace(allUsers['12345'][1]);
идея ясна?
acpid
Сообщения: 76
Зарегистрирован: 02 июн 2010, 09:05

Re: Проблемка с getProfiles

Сообщение acpid »

ага,кончено же пробовал,ну тут видите ли появляется проблемка с 3 запросами в секунду..
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Проблемка с getProfiles

Сообщение bodnar »

еще раз говорю

Сделал один запрос, получил большой ответ, со всеми пользователями в единичном экземпляре, который (ответ всмысле) хранится в какой то переменной. Ты не можешь из него найти на свое усмотрение произвольный id и напечатать информацию о нем? Можешь.

Перебираешь свой исходный массив в которым id идут с повторами, так как того требует логика приложения.

Взял первый id 1111
ищешь в ответе от сервера такого пользователя, выводишь его инфу
Взял второй id 2222
ищешь в ответе от сервера такого пользователя, выводишь его инфу
Взял третий id 1111
ищешь в ответе от сервера такого пользователя, выводишь его инфу еще раз
и т.д.
acpid
Сообщения: 76
Зарегистрирован: 02 июн 2010, 09:05

Re: Проблемка с getProfiles

Сообщение acpid »

мда спасиб,можно так,хотя конечно не самый элегантный действительно..попробую еще в сторону execute покапать,ну или таким образом решать.
Ответить