Задать вопрос
  • Как проверить значение поля 1 table в 2 table?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Может так вам нужно?
    SELECT f.* , sl.id as subscribe
    FROM `films` f
    LEFT JOIN `see_later` sl 
    ON sl.film_id = f.id
    WHERE sl.user_id = :user_id //подставить ид пользователя
    ORDER BY `year` DESC LIMIT 10


    PS: в помощь по запросам
    Ответ написан
    3 комментария
  • Что я делаю не правильно в GET запросе?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    если Это принципиально, то читайте про History.pushstate()
    Ответ написан
    Комментировать
  • Как правильно аннулировать действия при прерывании создания записей?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Без понятия как пилить такое на цмсках, я бы просто ставил дату проводимой записи, в финале должно быть подтверждение регистрации и соответствующая запись в бд. По крону удалять все цепочки действий, которые не получили подтверждения завершения и старше N дней/недель/месяцев.

    Имхо можно тупо забить, ибо еще 10 неактивных записей в базе в месяц - вообще ниочем.
    Ответ написан
    Комментировать
  • Регистрацию делать в модальном окне или отдельной страницей?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Зависит от проекта, в большинстве случаев удобно иметь форму авторизации на всех страницах, соответственно можно залогиниться на сайт в любом месте. Регистрация в принципе ничем особо не отличается, то есть тоже должна быть доступна отовсюду. Логично вынести регистрацию в отдельный вид если требуется ввести много данных, если же использовать минимальный набор данных - модалка вполне нормальное решение. Про авторизацию - вообще не вижу смысла создавать отдельную страницу, просто поля для авторизации даже можно оставить, или тоже модаль.

    По поводу ссылки на страницу регистрации - это выглядит не очень приятно, со стороны пользователя, как будто его принуждают к действию, выбор должен быть за пользователем, но это чистое имхо.
    Ответ написан
    Комментировать
  • Как сделать поиск на сайте логичным?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    во первых - денормализовать базу, завести поисковое поле где будет объединено имя и описание и завести на него индекс.
    Во вторых - разбить запрос по пробелам и конечный результат искать как (условно)
    select * from products as pd
    where `searchname` like '%$words[0]%' 
    and `searchname` like '%$words[1]%'
    and `searchname` like '%$words[2]%'


    PS: dop_name, opis_name, seriya_nasos - горите в аду.
    Ответ написан
    Комментировать
  • Нужен скрипт, который позволяет удобно редактировать текст на сайте?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    TinyMCE , CKEditor - 2 самых популярных, масса плагинов и мануалов, есть еще куча, но они не так распространены.
    Ответ написан
    Комментировать
  • Как вывести лог работы скрипта php из консоли ubuntu на сайт?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Комментировать
  • Как ускорить select таблицы постов с десятью миллионами строк?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Смотреть запрос
    Курить explain
    Вешать индексы
    Ответ написан
    1 комментарий
  • Какие программы лучше подходит для создания сайта с большим объемом данных?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Некоторые PhpStorm рекомендовали,
    Это среда разработки, не язык. Среда разработки на PHP. Обычно в связке с MySQL.
    Плюсы:
    1) Низкий порог вхождения(на начальном этапе легок в освоении)
    2) Хорошо подходит для веб разработки, много готовых модулей и компонент, много документации и большое коммюнити.
    3) Стандарт для любого хостинга - стек ЛАМП есть практически у всех хостеров
    4) Есть минимум 4 очень хорошо поддерживаемых фреймворка, позволяющие быстро создать основу приложения.
    5) Хорошая масштабируемость.
    6) Дебаггер вполне нормальный, как и у любого другого языка, то что вы не разобрались это уже другой вопрос.
    Минусы:
    1) Это "не модно", коллеги с вейпами на гироскутерах с подворотами будут смеяться, "ведь есть го, раст, нода в конце концов"...
    2) скорость работы некритично ниже сопоставимых питона и ноды (надо учитывать что, как всегда, скорость веб приложения чаще всего упирается в скорость обмена данными с клиентом + скорость работы бд, ЯП особых нагрузок обычно не несет).

    кто-то хвалит – Python,
    ну да, есть даже 1 популярный фреймворк... Весьма неплохой и относительно молодой ЯП, но пока в вебе все же более редок, а значит есть некоторый дефицит специалистов.

    а как насчет Java?
    Ява это отдельный мир, в основном заточенная на энтерпрайз решения, хотя конечно же и просто сайтики на ней пилят, да, но это больше экзотика, нежели правило.

    Короче, вопрос ВСЕМ! Какой язык программирования и какая база данных лучше подходит тут?
    В корне вопроса у вас "большой объем данных", однако что за данные, какие реальные объемы (хотя бы примерно в количестве записей) и какого типа(преимущественно текст / преимущественно цифровые данные / смешанное содержимое) не обозначено. В любом случае я бы ориентировался на возможности БД, а не ЯП.

    Чтобы был там отслеживание программы (debugger)
    Любой современный язык имеет инструменты отладки, ищите и обрящете.

    и в будущем с объемом данных не было проблем (построение ключа для поиска, кодировка текст для разных языков).
    Любая современная БД. Опять же - подбирать нужно исходя из структуры и реальных объемов, если бы существовало единое универсальное решение все бы им пользовались, очевидно. Для каждого случая есть свой инструмент и свое подходящее решение.
    Ответ написан
    3 комментария
  • Пропадают обработчики события click при частичной перезагрузки блоков, как поправить?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    есть подозрение что с подгрузкой блоков происходит "переподгрузка" вашего лика на котором висит евент клика. Как вариант решения - найти место где вешается листенер и перевесить его на документ, с проверкой таргет элемента. На jquery примерно так:
    $(document).on('click','.pickpvz',function(e){
    e.preventDefault();
    // код обработчика
    });
    Ответ написан
    Комментировать
  • Как ограничить доступ к папке на сервере по дате?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    cron? по крону меняйте содержимое index.php (или просто копируйте заранее заготовленный из другой папки), потом обратно.
    Ответ написан
    2 комментария
  • Как транслитерировать символы в JavaScript или PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    во первых есть нативные средства в пхп, ну и просто сделать пару массивов для конкретно вашего словарного соответствия можно. Что-то типа вот такого:
    function translit($string){
            if(extension_loaded('iconv')){
                return iconv('UTF-8', 'ASCII//TRANSLIT', $string);
            }
            else{
                $cyr = array(
                    'а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п',
                    'р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я',
                    'А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П',
                    'Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я'
                );
                $lat = array(
                    'a','b','v','g','d','e','io','zh','z','i','y','k','l','m','n','o','p',
                    'r','s','t','u','f','h','ts','ch','sh','sht','a','i','y','e','yu','ya',
                    'A','B','V','G','D','E','Io','Zh','Z','I','Y','K','L','M','N','O','P',
                    'R','S','T','U','F','H','Ts','Ch','Sh','Sht','A','I','Y','e','Yu','Ya'
                );
                return mb_str_replace($cyr, $lat, $string);
            }
        }
    Ответ написан
    Комментировать
  • Как массово редактировать товары из листа с помощью чекбоксов?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    чет не понимаю, как вы собираетесь редактировать МНОГО товаров одновременно? Не проще в список выводить уже в виде заполняемых полей и сделать кнопочку сохранить напротив?
    Ответ написан
    Комментировать
  • Input file Вывод превью изображений?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    Их много, гуглите image preview upload js
    Ответ написан
    4 комментария
  • Почему не сохраняется изображение?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Как уже выше заметили - первое что нужно проверить - права на запись
    2) Так же убедитесь что папка вообще существует(скорее даже это нужно в первую очередь проверить)
    3) Убедитесь что путь, программно формируемый, указывает на нужную папку,
    4) Указывайте ПОЛНЫЙ путь, от корня файловой системы сервера, что то типа
    $fullPath = $_SERVER['DOCUMENT_ROOT'].'path/to/file.png';
    Ответ написан
    Комментировать
  • PHP. Как реализовать общий счетчик между несколькими скриптами?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Пробовал поддерживать значение в файле - в какие то моменты значение просто не считывается и все сбивается (Не получилось понять причину)
    скорее всего банальная блокировка открытого файла.
    БД (MySql) боюсь использовать, тк обращения будут очень частые и частота растет.
    ну, не знаю, запрос индексированного поля из бд происходит примерно за 0,0013 секунд на моей не самой мощной машине, + неблокирующие апдейты. На продакшене есть машины обрабатывающие до ~100 запросов в сек. Другое дело что это стрельба по воробьям из пушки.
    Как лучший вариант имхо - мемкеш, или редис.
    Ответ написан
    1 комментарий
  • Как можно проверить есть ли name с именем "TEST 0"?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    if(typeof response['data'].[0].name !== 'undefined' && response['data'].[0].name =='TEST 0'){
    // делать тут всякое
    }
    Ответ написан
    Комментировать
  • JavaScript - как обновить страницу при изменении файла?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    если в 2 словах:
    веб сокеты - для вызова событий в браузере с сервера.
    cron - вызов скриптов по времени(не чаще раза в минуту, если нужно чаще - понадобятся менеджеры очередей)

    по крону дергается ваш файл на предмет совпадения с предыдущей проверкой(как хранить состояние предыдущей проверки - на ваш выбор - бд, файлик, мемкеш, редис...), например проверять размер(не 100% гарантия) или хеш от файла(медленно), или еще что либо - опять же подумайте сами как и что проверять. По совпадению условия "файл поменялся" по сокету отправляется команда перезагрузки нужного дом узла. В принципе все, дальше детали, зависящие от не перечисленных в задаче нюансов.
    Ответ написан
  • Как прочитать массив в js полученный из php в консоле пишет array?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    A что вы хотели получить? Вы делаете вывод массива через echo, который вообще то для вывода строковых переменных. И он вам тонко намекает что вообще то он не строка, а массив(а нормальные разработчики с включенным выводом ошибок уровня E_ALL еще и нормальный варнинг с пояснениями видят).

    Добавьте в параметры запроса аякса dataType: "json",, а при выводе из php echo json_encode($vibranye);

    PS: за $vibranye ajaxik.php widtherr parametr_widther для вас уже разогревают отдельный котел в аду.
    Ответ написан
    Комментировать