Страница 1 из 1

Проблемка с getProfiles

Добавлено: 04 июл 2011, 07:53
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?

Както сложно понаписал,но надеюсь поймете,может ктото както решал...

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

Добавлено: 04 июл 2011, 13:48
bodnar
а что мешает решить в лоб?

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

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

Не самый элегантный способ конечно.

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

Добавлено: 05 июл 2011, 00:46
tcsayan
А вы пробовали делать запрос с дублями ID в запросе ?

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

Добавлено: 05 июл 2011, 21:02
Александр

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

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

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

Добавлено: 06 июл 2011, 06:53
acpid
ага,кончено же пробовал,ну тут видите ли появляется проблемка с 3 запросами в секунду..

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

Добавлено: 06 июл 2011, 11:29
bodnar
еще раз говорю

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

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

Взял первый id 1111
ищешь в ответе от сервера такого пользователя, выводишь его инфу
Взял второй id 2222
ищешь в ответе от сервера такого пользователя, выводишь его инфу
Взял третий id 1111
ищешь в ответе от сервера такого пользователя, выводишь его инфу еще раз
и т.д.

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

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