cashloveyou
@cashloveyou
Хороший чел

Сортировка ленты вся и мой выбор?

Лента новостей, как вконтакте.

Цель: Показывать (переключать) новости либо тех пользователей на которых подписан либо показывать все методом переключения . Как правильно это сделать.
в БД есть таблицы : Feeds
id  | entity_id (автор) | title | content | likes | comments и т.д


subscribers

id_user | id_subscription

Users

user_id | name | и т.д
function add_subscriber($userid, $type, $typeId)
{
    if (!subscriber_exists($userid, $type, $typeId)) {
        forget_cache("subscribers-" . $type . '-' . $typeId);
        db()->query("INSERT INTO `subscribers`(user_id,type,type_id)VALUES('{$userid}','{$type}','{$typeId}')");
        return true;
    }
    return false;
}


function get_subscribers($type, $typeId)
{
    $cacheName = "subscribers-" . $type . '-' . $typeId;
    if (cache_exists($cacheName)) {
        return get_cache($cacheName);
    } else {
        $result = array();
        $query = db()->query("SELECT user_id FROM `subscribers` WHERE  `type_id`='{$typeId}' AND `type`='{$type}'");
        if ($query and $query->num_rows > 0) {
            while ($fetch = $query->fetch_assoc()) {
                $result[] = $fetch['user_id'];
            }
        }
        set_cacheForever($cacheName, $result);
        return $result;
    }
}


нашел похожий запрос но другого двига
AND (
                  `user_id` IN (SELECT `following_id` FROM " . T_FOLLOWERS . " WHERE `follower_id` = {$logged_user_id} AND `active` = '1')
                  OR `recipient_id` IN (SELECT `following_id` FROM " . T_FOLLOWERS . " WHERE `follower_id` = {$logged_user_id} AND `active` = '1' )

есть идеи???
  • Вопрос задан
  • 183 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы