Задать вопрос
  • Как поднять домашний сервер на старом ноутбуке как файлохранилище и сервер майнкрафт?

    @alexalexes
    какую тактовую частоту на озу брать?

    Зависит от поддержки конкретного процессора. Но если больше возьмете, то работать будет на меньшей частоте. Но вряд ли вы заметите разницу между 667 от 800.
  • Сайт не показывает задний анимированный фон, что делать?

    @alexalexes
    1) Выгрузите контент сайта в песочницу CodePen или JSFiddle.
    2) Учитесь пользоваться инструментами разработчика по клавише F12 в браузере, вкладка "Элементы". Никто кроме вас на каждый чих не будет проверять, а почему такой-то элемент не отображает фон, и что его перекрывает.
  • Почему на экране фиолетовые пиксели?

    @alexalexes
    В любом случае, вам в сервис нужно обратится.
  • Почему на экране фиолетовые пиксели?

    @alexalexes
    А модель видеокарты хоть напишите. Если эта какая-нибудь тысячная линейка Nvidia и древнее, то она может "устать" просто ввиду возраста, особенно, если она была горячая среди своего поколения.
  • Как из компьютера под управлением Wíndows 10 сделать беспроводной дисплей?

    @alexalexes
    А вам нужно, чтобы операционная система, которая транслирует изображение воспринимала этот дисплей как полноценный дисплей (был на него расширен рабочий стол)? Или вам достаточно транслировать картинку с рабочего стола, без расширения рабочего стола.
    Для этого можно расшарить потоковую трансляцию рабочего стола через OBS studio по локальной сети на одном компьютере и принимать картинку на другом компьютере через любой видеоплеер, который позволяет открывать потоковые ссылки - VLC Player, PotPlayer и т.д.

    Есть еще "Удаленный рабочий стол". Через эту технологию вы получите полное управление одном компом через другой комп.
  • Что за наклейка на корпусе HDD Seagate?

    @alexalexes
    Этот прокол в мембране диску здоровья не добавит, поскольку от запыленной атмосферы внутреннее пространство отделяет только фильтр-вкладыш.
    Если диск работает в слабо запыленных условиях, то, возможно, он проживет долго.
    Если пыли много, то высока вероятность выхода из строя диска.
    Поэтому важные данные на нем лучше не хранить.
  • Как войти в режим низкого разрешения, если пк стартует с клавиатуры?

    @alexalexes
    Нужны сведения по обе стороны видеокабеля. С одной стороны - модель монитора. С другой - модель видеокарты, если используете встроенную графику, то еще модель материнской платы, и модель процессора.
    Какой разъем видео используете (VGA, DVI, HDMI, DisplayPort и т.д.)?
    Какая операционная система?
  • На двух новых Epson L15160 прямо из коробки идентичная проблема. В чём может быть причина?

    @alexalexes
    Табличка у вас изначально - это растровое изображение, или векторное?
  • Как сгруппировать по убыванию?

    @alexalexes
    У вас в этом запросе группировки не будет в принципе, нужно выдернуть некие "первые записи" - это и будет что-то похожее на группировку.
    Нужно от rn добиться такого же поведения, если бы у вас возможность работать с partition by
    row_number() over (partition by `class_messages_chat`.`chat_id` order by class_messages.id desc) rn

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

    @alexalexes
    В самой внутренней выборке нужно отсортировать так:
    order by `class_messages_chat`.`chat_id`, class_messages.id desc

    А в самой внешней - так (возможно, она не понадобится):
    order by B.mess_id desc
    Возможно, время выполнения увеличится, так как будут сортироваться сообщения в самых древних чатах, но по логике, нумерация должна правильно работать.
    Посмотрите, как после таких исправлений сортировки rn будет меняться.
    Если все нормально, то можно вернуть получение первого номера rn:
    where A.Rn = 1
  • Как сгруппировать по убыванию?

    @alexalexes
    А как ведет себя переменная rn?
  • Как сгруппировать по убыванию?

    @alexalexes
    У вас же версия 5.7, оконные функции не будут работать, даже можно не пытаться запустить то, что содержит over partition by.
    но возвращает 0 результатов

    закомментируйте строку:
    where A.Rn = 1

    и добавьте вывод переменных до if и после:
    @prev as before_prev, 
    @rn as before_rn,
    IF(@prev <> A.chat_id, @rn:=1,@rn), @prev:= A.chat_id, @rn:=@rn+1 AS rn,
    @prev as after_prev, 
    @rn as after_rn

    И отлаживайте.
    Нужно добиться поведения after_rn:
    1) чтобы rn возрастало по ходу сортировки order by class_messages.id desc.
    2) чтобы rn становилось 1 когда первая строчка или когда chat_id меняется на другое значение.
  • Как сгруппировать по убыванию?

    @alexalexes
    from-ов не хватало перед подзапросами.
  • Почему код не может записать в БД определённое строковое значение?

    @alexalexes
    Сначала вас обработаем бейсбольной битой, потому, что не используете подготовленные запросы.
    // это использовать не нужно, нужно правильно подготавливать запросы с параметрами
    //$description = mysqli_real_escape_string($setSql, $description);
    // начинаем подготовку запроса
    $stmt = mysqli_prepare($setSql,
        "UPDATE `tasks`
            SET `pid` = '33',
                `zakaz` = ?,
                `ispol` = '0',
                 `daten` = NOW(),
                  `dateo` = '0000-00-00 00:00:00',
                   `status` = '9',
                    `tupetasks` = '188',
                    `title` = ?,
                     `descr` = ?,
                     `vote` = '0',
                     `executor` = '0',
                      `ip` = '192.168.11.2',
                       `ball` = '0',
                       `podr` = '33',
                        `podrout` = ?,
                         `region` = '1',
                          `doch` = '0', 
                          `ndatetletask` = ?,
                           `prigla` = '12865',
                            `lock` = '',
                             `lock_time` = '0000-00-00 00:00:00',
                              `cartridge` = '0',
                               `notify` = '1',
                                `tracker` = '0',
                                 `requestid` = '0',
                                  `hidden` = '0'
                 WHERE `id` = ?");
        
    
    mysqli_stmt_bind_param($stmt,
                           'issssi' /* тут нужно определится какого типа данных в колонках таблицы и подставить правильные */
                           , $tSource->id, $title, $description, $tSource->podr, $deadline, $taskId);
    // заканчиваем подготовку, выполняем
    mysqli_execute($stmt);
    // посмотрите, что там по ошибкам, которые выводит СУБД
    var_dump(mysqli_error($setSql));

    А потом можно, разговаривать.
    1. Какие типы данных на тех колонках, куда подставляете входные параметры? Вы уверены, что в Id-шках строки используются (все ли колонки строковые - кавычки расставлены прямо везде).
    3. Какие ошибки выдает СУБД после выполнения запроса?
  • Как вырезать текст между двумя тэгами в xml/yml на php?

    @alexalexes
    Оберните в тег code образец xml, что вы хотите изменить, а то ничего не видно.

    А сам тег description не хотите удалить?
    Тогда вместо:
    $domNode->nodeValue = '';
    Нужно использовать:
    $domNode->parentNode->removeChild($domNode);
    И, возможно, в foreach в качестве итерируемого элемента нужен ссылочный тип:
    as &$domNode
  • Как сгруппировать по убыванию?

    @alexalexes
    Наверное, у вас написано было, что синтаксическая ошибка возле from - там запятая лишняя была.
  • Как сгруппировать по убыванию?

    @alexalexes
    Дополнил ответ. Проверить не могу, но если order by class_messages.id desc сработает корректно для введенных переменных в if, то сработать должно корректно.
    Если нет, то во внутреннем запросе нужно провести сортировку order by class_messages.id desc.
    В промежуточном запросе сделать финт с ушами if, добавить инициализацию переменных через (SELECT @rn:=1)rn, (SELECT @prev:=-1)prev.
    А в самом внешнем запросе сделать отсечение A.Rn = 1.
  • Как получить файл из формы с input type="file" в PHP или в целом получить файл любым способом?

    @alexalexes
    но в таком случае в базу данных попадает только название файла, а не сам файл!

    В чем проблема?
    В php есть методы сохранения и загрузки файлов на диск сервера. Берете нужный путь к файлу и вперед - получать бинарник файла.
    Мне неохота городить тут тонну текста, ввиду того, что я не понимаю, где может крыться решение,

    Решение кроется в выстрадании вами этих пунктов:
    1) Запрос и получение бинарника файла от пользователя с использованием объекта FileReader на JS.
    2) Передача через ajax post запроса на сервер, содержащий бинарник файла.
    3) Работа с $_FILES на стороне сервера, и выдергивание файла из временной директории.
    4) Переименовывание файла на уникальное имя и сохранение на постоянное место на диске сервера, а также сохранение исходного имени файла, его пути расположения, размер и других атрибутов в СУБД.
    5) Чтение сведений о файле из СУБД по его id/хешу и передача его содержимого пользователю.
    Сессии реализованы стандартными методами PHP - через session_start()

    Данные в сессии должны быть максимально легковесными, в идеале, должен храниться только идентификатор сессии, пользователя, его статус авторизации, другие токены прав доступа к сторонним API. Все остальное должно храниться в СУБД, что-то на диске сервера. Если нужен кеш, то использовать memcached или redis.
  • Корректно ли составлен запрос?

    @alexalexes
    По данному фрагменту кода можно только сказать, что поиск заказчика будет осуществляться только по ФИО,
    так как из POST вы извлекаете еще почту и телефон, которые в запросе не применяются.