Задать вопрос
  • Как сгруппировать по убыванию?

    @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 вы извлекаете еще почту и телефон, которые в запросе не применяются.
  • Корректно ли составлен запрос?

    @alexalexes
    $query = "SELECT * FROM `orders2022` WHERE LOWER(`surname`) LIKE CONCAT('%', ?, '%') AND LOWER(`name`) LIKE CONCAT('%', ?, '%') AND LOWER(`fathername`) LIKE CONCAT('%', ?, '%')";

    Если синтаксически - корректно.
    Но если в техническом задании нет описания, как именно вы собираетесь искать заказы за 2022 год, то сказать определенно корректно, или определенно некорректно - сложно.
  • SSD 100% а чтение и запись 0, без зарядки?

    @alexalexes
    Что значит нагрузиться на 100?
  • Почему в выходном .txt файле парсера кракозябры?

    @alexalexes
    Смотрите содержимое файла в кодировке cp1252, переключите в просмотрщике кодировку на utf-8.
  • Как запустить определённое окно?

    @alexalexes
    Создаете ярлык, и вместо приложения указываете эту команду:
    control mmsys.cpl sounds
  • Как переделать процедуру из oracle в mysql?

    @alexalexes
    а вот условие true on 1 = 1, оно к строке таблицы заджоинит весь массив дат(таблица временная)?

    Будет полный перебор каждой строки
    products p
             inner join product_type pt on p.product_type = pt.product_type_id

    с каждой строкой, того что накастует функция get_bill_period_dates.
    Если в первой выборке было 100 строк, а в касте 3 строки - то после перебора получите 300 строк всех возможных сочетаний записей.

    Но что-то подозреваю, что вы не это поведение ждете.
    А вам нужно получить вхождение периода [charge_start_date, charge_end_date] в то, что извлекает get_bill_period_dates.
    А что получается на выходе get_bill_period_dates?
    Вы написали, что есть некий тип prv_date_table_t, а на какие компоненты он раскладывается?
  • Как переделать процедуру из oracle в mysql?

    @alexalexes
    lead вам вернет значение из следующей строки, если бы к выборке применили бы сортировку по column_value, но в пределах окна product_id, agr_id. Если значения product_id, agr_id меняются, то окно закончилось - на предыдущей записи значение charge_end_date будет null.
  • Как переделать процедуру из oracle в mysql?

    @alexalexes
    Без содержания функции prv_date_table_t, не представляется возможным предложить аналог для подзапроса:
    inner join table
                        (
            get_bill_period_dates
  • Как переделать процедуру из oracle в mysql?

    @alexalexes
    MySQL какой версии?

    lead(column_value) over (partition by...
    Если у вас MySQL 8+ версии или MariaDB, то проблем с оконной функцией не будет.
    get_bill_period_dates...
    prv_date_table_t...

    Скорее всего pipelined function - ороклячая специфика. Будете переводить данные во временные таблицы, или придется делать view и использовать в запросе.
  • Как правильно реализовать анимацию?

    @alexalexes
    @HistoryART
    Псевдоклассы :where, :is - редкие гости в CSS, а псевдоэлементы :after, :before почти на каждый чих в оформляшке используются. Что их бояться, главное, не забывать как content активируется у них.
  • Добавил элементы в массив в local storage, при обновлении страницы компоненты пропадают с экрана, но остаются в local storage, как это исправить?

    @alexalexes
    Ну, тогда вопрос.
    onMounted(() => {
      cards.value = JSON.parse(localStorage.getItem('cards')) || []
    })

    Этого достаточно для отображения компонентов в начальном состоянии, или нужно инициализировать состояния еще каких-то свойств?
    В консоли отладки в браузере не выводится ошибка парсинга JSON в связи с исполнением монтирования?
    Что парсится тут при прогоне отладки если вставить в это место точку останова?