Как отсортировать базу ID пользователей вконтакте?

BIZON

o_O
Команда форума
Администратор
Модератор
Регистрация
31 Окт 2006
Сообщения
770
Реакции
2.166
  • Автор темы
  • Модер.
  • #1
В общем спарсил всех пользователей из 10 групп, для определенного города.
Теперь стоит задача, отсортировать всех пользователей, которые состоят во всех группах.
Каким образом это можно осуществить?
 
Если все в одной таблице, то where group_1 is not null and group_2 is not nul и т.д.
Если в разных, то inner join group1_table as g1 on g1.user_id=users.id inner join group2_table as g2 on g2.user_id=users.id .......
 
  • Автор темы
  • Модер.
  • #3
Если все в одной таблице, то where group_1 is not null and group_2 is not nul и т.д.
Если в разных, то inner join group1_table as g1 on g1.user_id=users.id inner join group2_table as g2 on g2.user_id=users.id .......
Всё в txt :crazy:

id1
id2
id3
...
 
Фотмат хранения данных скиньте пожалуйста. (Лучше все файлы)
 
А не быстрее через API получить пользователей и в БД? А потом что угодно с ними делать
 
  • Автор темы
  • Модер.
  • #6
Может и быстрее) :) Но вот у меня знаний в этой области нет...
В области БД нет или API ВК?
Получение пользователей через API: Для просмотра ссылки Войди или Зарегистрируйся
Запрос будет примерно такой: Для просмотра ссылки Войди или Зарегистрируйся

А в БД, это дольше объяснять

PHP:
$row = json_decode($result, true);
$insert = $db->prepare('INSERT INTO `table`(`uid`, `city`, `country`, `gid`) VALUES(:uid, :city, :country, :gid)');


$data['gid'] = $group_id; // ID группы, из которой в данный моммент получаем людей
foreach($row['response']['response'] as $user)
{
    $data = array(
        'uid' => $user['uid'],
        'city' => $user['city'],
        'country' => $user['country']
    );
  
    $insert->execute($data);
}
 
Последнее редактирование:
  • Автор темы
  • Модер.
  • #8
В области БД нет или API ВК?
Получение пользователей через API: Для просмотра ссылки Войди или Зарегистрируйся
Запрос будет примерно такой: Для просмотра ссылки Войди или Зарегистрируйся

А в БД, это дольше объяснять

PHP:
$row = json_decode($result, true);
$insert = $db->prepare('INSERT INTO `table`(`uid`, `city`, `country`, `gid`) VALUES(:uid, :city, :country, :gid)');


$data['gid'] = $group_id; // ID группы, из которой в данный моммент получаем людей
foreach($row['response']['response'] as $user)
{
    $data = array(
        'uid' => $user['uid'],
        'city' => $user['city'],
        'country' => $user['country']
    );
 
    $insert->execute($data);
}

 
  • Автор темы
  • Модер.
  • #9
пс
не нужно эту тему перемещать в пхп раздел..

пс2
мне лишь бы сделать выборку, пусть даже с помощью блокнота и бубна..

пс3
в пхп не силен, нуб.
 
Тебе нужны только те пользователи которые сразу в 10 групах состоят? если парсишь в тхт фаил - делай для каждой группы отдельный фаил. После? тот что самый маленький будет - на его основе проверяешь сходство с остальными.
Превращаешь фунцией explode() строку(содержимое маленького файла) в массив. Допустим масив с длинной 1000 пользователей, в цикле проверяешь каждый элемент массива, на наличие во всех группах.
$full_group += files_get_content(one.txt);
$full_group += files_get_content(two.txt); //по идее тексты всех групп должны объединится, и так 9 групп
...
Например при первой итерации получили $arr[0] = id123456;
preg_match_all($arr[0]$full_group;$res[$i]); // смотрим сколько нашло вхождений "id123456" если 9 вхождений то это наш клиент.
if(count($res[$1]) == 9){ записываем в фаил нашего клиента $arr[id]}
 
Назад
Сверху