• Как переключать модификаторы по бэм?

    @Ankozar Автор вопроса
    Даниил Попов, кстати, ещё такой вопрос. Если мне нужно сделать плавное появление элемента, как это сделать по бэм?
    Раньше, например, я указывал блоку display: none, а затем писал на jq функцию .fageIn. А теперь, , получается, так?
    <div class='block block_hidden'>
    .block {
    //smthng
    }
    .block_hidden {
    display: none;
    }


    И затем я удаляю модификатор .block_hidden?
    А как быть с плавностью появления? Красоты ж охота.
  • Как переключать модификаторы по бэм?

    @Ankozar Автор вопроса
    Даниил Попов, если вы имеете в виду, что это не переключение, а добавление, то да, я неточно задал вопрос. Скорее - "как производить операции с модификаторами?"
  • Как должен функционировать блок оперативного показа новости?

    @Ankozar Автор вопроса
    N, Да я так глубоко пока не шарю.XD Мне кое-какие преимущества из списка ВС пока не понятны.
    И, как я понял, вс надо делать на ноде, а я её ещё не изучал. И ещё не скоро займусь.

    Собсно, sse у меня просто пуляет число. И вкладок этого сайта будут открывать максимум две. Так что пока достаточно, я думаю.

    Но вам спасибо за разъяснение! Всё на пользу.
  • Почем не отслеживается изменение input?

    @Ankozar Автор вопроса
    офигеть.

    Bind an event handler to the "change" JavaScript event, or trigger that event on an element.


    Действительно... Учим англицкий, блэт. И учимся внимательно читать доки.
  • Почем не отслеживается изменение input?

    @Ankozar Автор вопроса
    Simkav, ну да, не сложно. Я просто не хотел, чтобы эта переменная зависела от этого конкретного клика. Так придётся этот test пихать во все функции, которые могут input поменять. Я думал можно просто за input следить. Ну шо делать, если так.
  • Почем не отслеживается изменение input?

    @Ankozar Автор вопроса
    Понял. А стандартное решение есть?
  • Как правильно сделать выбор региона из базы данных при вводе названия в поле?

    @Ankozar Автор вопроса
    Как же это окуенно, когда чему-то научился!

    В этот раз, разобрался с setTimeout и получше понял return.

    Крутил-вертел, читал и вот (это ещё без отлова выбора, конечно):

    let switcher = true;
    $('#inputRegion').keyup(function(e) {
        if($(this).val().length > 2){
            delay(chooseRegion, 3000);
        };
    });
    
    /////////////////////////////////////////
    //Функции
    /////////////////////////////////////////
    
    function chooseRegion() {
            $('#inputRegionResult').empty();
            $.ajax({
                    type: 'POST',
                    url: 'php/chooseRegion.php',
                    data: {chooseRegion: $("#inputRegion").val()},
                    success: function (response) {
                        var result = $.parseJSON(response);
                        $("#inputRegionResult").append("<span>" + result + "</span><br>");
                        // console.log(result);
                    }
                });
    }
    
    function delay (fn, delay){
        if(switcher === true){
            fn();
            switcher = false;
            console.log('запустили');
        } else {
            console.log('ждём-с');
            return
        };
        setTimeout(() => switcher = true, delay);
    };


    Работает, сцуко!

    Кое-что надо докурить, конечно. Но там я уже знаю.

    Спасибо вам за подсказки, в общем.
  • Как правильно сделать выбор региона из базы данных при вводе названия в поле?

    @Ankozar Автор вопроса
    Сергей
    кастомный селекст со строкой поиска


    Это какой тег, не подскажите?
    Просто селект не даёт вводить данные.
  • Как правильно сделать выбор региона из базы данных при вводе названия в поле?

    @Ankozar Автор вопроса
    Сергей, штука в том, что их много. И, возможно, потом будет СНГ. Я подумал что проще не делать разделение по странам. А в одном поле, от ввода, выбрать юзеру нужный регион. Искать его сразу во всех странах.

    А то листать списки долго, на мой взгляд.

    Вроде надо просто задержку запроса поставить, чтобы он не по одной букве искал, а чуть подождал, дал юзеру побольше символов ввести.
  • Как должен функционировать блок оперативного показа новости?

    @Ankozar Автор вопроса
    Денис Инешин вроде разобрался, спасибо.

    Как я понял, для вебсокета спецсервер нужен.
    А через аякс - это лишний счётчик у клиента.
    Так что, вроде, и правда sse оптимален в данном случае.
  • Как должен функционировать блок оперативного показа новости?

    @Ankozar Автор вопроса
    javedimka, а вот ещё sse порекомендовали. Почитал, потестил - вроде норм. Что об этом способе думаете?
  • Как должен функционировать блок оперативного показа новости?

    @Ankozar Автор вопроса
    javedimka, а что вы имеете в виду? "Не сложно" это как, в данном случае? Может я фигню какую-то спросил. Знал бы как лучше - не спрашивал бы. Интересно все мнения узнать.
  • Как должен функционировать блок оперативного показа новости?

    @Ankozar Автор вопроса
    Специализированный сервис, для журналистов/продюсеров.
  • Как лучше организовать логику бд в моем случае?

    @Ankozar Автор вопроса
    Slava Rozhnev, гениально!
    Документация рулит, спасибо.
  • Можно ли с помощью file_get_contents подгрузить всё содержимое страницы?

    @Ankozar Автор вопроса
    Вот я запросы сейчас и эмулирую. Но это для каждого сайта вручную отдельный метод прописывать приходится. Я думал, может есть способ автоматически это делать. Универсально.

    Я правильно понимаю, что история с браузером - это нужен комп с открытым браузером? А сайтов у меня будут сотни. То есть, мне это не подходит, верно? Или я неправильно понимаю/представляю как это реализуется?
  • Как лучше организовать логику бд в моем случае?

    @Ankozar Автор вопроса
    Slava Rozhnev, нуу...вполне и миллион может быть, если взять все возможные учреждения и компании в России. И от каждой по 10 новостей.

    А можете помочь ещё с одним вопросом?
    Я перед внесением новости в бд проверяю её отсутствие. Уникальные данные в этом случае - ссылка на страницу новости. При этом это довольно длинное значение для операции сравнения, как я понимаю. И ещё - нет смысла перебирать всю таблицу. Достаточно проверить, нет ли такого значения в первых десяти новостях по этой категории.

    Вопрос: существует запрос, который проверяет значения в последних десяти записях по заданному критерию?
    Типа SELECT news_link FROM news WHERE category='$cat' AND news_link='$link' ORDER BY date Desc LIMIT 10

    Но, как я понимаю, он сначала всю таблицу пройдет, а потом выдаст последние 10 записей. Ну или пусто, если соответствия не будет.

    Или это и есть нужный запрос? Хм...

    В общем, как проверить только последние десять записей с нужной категорией?

    Или тут только выбрать последние 10 с категорией и провести сравнение в цикле пхп?
  • Как лучше организовать логику бд в моем случае?

    @Ankozar Автор вопроса
    VicTHOR, я попал на обсуждение структуры бд, будучи в поисках способа сортировки выборки новостей по дате. Там получается что нужно выбрать "сегодня" из каждого источника, а потом отсортировать выбор по времени. А если все новости региона в одной таблице, то просто "сегодня" по категории выбираешь и всё. Кнопкой подгружаешь "вчера по этой категории".. Или там по 10 штук, например. Так проще, видимо. Ну и записывать результат парсинга проще. Минус одно поле в таблице с источниками, опять же (название таблицы с новостями из данного источника). Да и цель у меня сейчас - научиться делать правильно. Так что буду переписывать.

    Спасибо за помощь!
  • Как лучше организовать логику бд в моем случае?

    @Ankozar Автор вопроса
    Зачем отдельную таблицу под каждый источни

    Да я хз, почему-то сначала так стал делать. У меня же опыта нет нифига. Потому и спрашиваю. Я думал что так быстродействие лучше. И навигация. И работа с источниками... Короче, заблуждался, видимо.

    Ещё вопрос: по регионам, всё же, сделать таблицы? Допустим, таблица "тюменская область" и в ней новости от всех источников региона.
    Так будет правильно?
    Или все новости страны тоже в одну таблицу? Но, По-моему, это уж совсем дохрена....

    PS: пипец... Это ж сейчас все парсеры переписывать, выгрузку на сайте... Вообще почти весь проект... Но фигли делать, раз образования нет... Опыт, мать его, сын ошибок ТРУДНЫХ. :-) Это я так. Вообще после этого весь сервис проще будет работать, конечно...
  • Как правильно подгружать новости из бд по "свежести"?

    @Ankozar Автор вопроса
    Slava Rozhnev, ого... Спасибо. То есть, это решение моей задачи средствами бд. Я о таких приемах и не знал.

    Можете проконсультировать по поводу организации бд?

    Вот сервис: otovsydy.ru (пару дней был не оплачен хостинг, потому там некоторые новости устаревшие, а собранные будут с одним и тем же датой и временем)

    Суть - парсинг новостей.
    Поскольку способы отображения новостей на сайтах разные, для каждого сайта написан свой метод парсинга. Некоторые сайты отображают похоже, для них метод один и тот же, но разные селекторы.

    Бд устроена так:
    Таб1: список источников. Там - ссылка на страницу с лентой новостей, ссылка на файл с методом парсинга, список селекторов, название таблицы с новостями источника в бд, название категории, к которой относится источник, страна, регион.
    Таб2- ТабN - таблицы с новостями для каждого источника. Их структура одинаковая: заголовок новости, ссылка на страницу с новостью на сайте источника, картинка (если есть), датавремя парсинга.
    603fd825549a7362333510.jpeg

    603fd89ec8f64016804687.jpeg

    Логично? Или по-другому должно быть организовано?

    Хотя сейчас прикидываю - может и правда все новости пихать в одну таблицу?.. Тогда достать их проще - "селект где `категория` лимит 10"... Но там вперемешку будут все источники и категории... Получается, все юзеры при выборе любых новостей, а также все методы парсинга при записи, будут одну и ту же таблицу долбить...

    Короче, мне опыта не хватает, чтобы понять как правильно.
  • Как правильно подгружать новости из бд по "свежести"?

    @Ankozar Автор вопроса
    Спасибо!

    Но это легко, я сам так могу выбрать. А что делать, если таблиц несколько? Допустим, пять. За "сегодня" - по одной новости в трёх таблицах. За "вчера" - по две в каждой.

    В общем, нужно заглянуть в каждую таблицу, и выбрать не последние записанные, а выбрать по дате и времени. Допустим, что в первой таблице есть новости за "сегодня 14:58" и "сегодня 13:00", а в другой таблице крайняя новость - "сегодня 13:30". Вот надо чтобы на страницу их вывело : 1. 14:58, 2. 13:30, 3. 13:00.

    Пока я думаю так: выбрать из всех таблиц все новости за "сегодня". Пока длина массива <10, то выбрать за "сегодня-1", "сегодня-2" и т.д.. Затем отсортировать по дате. И уже с 0 по 9 элемент вывести на страницу.

    Но, подозреваю, это порнуха какая-то.