• Где правильнее в БД разместить статусы заказа?

    @alexalexes
    Поясните порядок взаимодействия master, manager и company. Какова их роль в заказе? Как они друг на друга влияют при выставлении статуса?
    Эти роли меняются от заказа к заказу у работников? Они постоянны в течении смены, или закреплены за должностью работника?
    Написано
  • Получить товары для определенного города?

    @alexalexes
    Переведите в синтаксис SQL эти три условия хотя бы по отдельности, тогда можно говорить, что вы пытались найти решение.
    Написано
  • Существует ли возможность переопределить стили выпадающего меню select?

    @alexalexes
    А что отладчик показывает в браузере по F12 поводу стиля option?
    Написано
  • Почему не запускается ноутбук после замены ОП?

    @alexalexes
    Попробуйте в BIOS, в разделе POST Behavior, параметр Fastboot установить в Thorough, чтобы при загрузке проинициализировались все устройства. Но не факт, что повлияет.
    Написано
  • Как сделать правильно выборку с двойной сортировкой?

    @alexalexes
    FanatPHP, обоснуйте, почему case не может присутствовать в order by.
    Написано
  • Как удалить ¶ из sql?

    @alexalexes
    Тогда нужно вернуться к этому запросу и немного его изменить:
    select value,
              replace(value, char(0x00B6 using utf8), '\r\n') as new_value_1,
              replace(value, char(0xB6 using utf8), '\r\n') as new_value_2
    from oc_setting
    where value like concat('%', char(0xB6 using utf8), '%')
           or value like concat('%', char(0x00B6 using utf8), '%')

    Выборка есть?
    Будет ли разница между value, new_value_1 и new_value_2?
    Написано
  • Как удалить ¶ из sql?

    @alexalexes
    Предупреждение 1300 не критично, возможно, просто не тот символ ищется.
    Если вывести голый:
    select ASCII('¶')
    то выдает 194 код.
    Можно попробовать вот так:
    select value,
              replace(value, char(ASCII('¶')), '\r\n') as new_value,
              ASCII('¶') as search_code_symbol
    from oc_setting
    where value like concat('%', char(ASCII('¶')), '%')

    Но результат будет зависеть от того в какой кодировке соединение к базе.
    Написано
  • Как удалить ¶ из sql?

    @alexalexes
    А так есть предупреждение?
    Есть изменения в new_value?
    select value,
              replace(value, char(0x00B6 using utf8), '\r\n') as new_value
    from oc_setting
    where value like concat('%', char(0x00B6 using utf8), '%')
    Написано
  • Как удалить ¶ из sql?

    @alexalexes
    Допустим.
    Этот запрос возвращает строки, где есть абзац.
    В значении new_value есть изменения по сравнению с value?
    select value,
              replace(replace(value, char(0xB6 using utf8), '\r\n'), char(0x00B6 using utf8), '\r\n') as new_value
    from oc_setting
    where value like concat('%', char(0xB6 using utf8), '%')
           or value like concat('%', char(0x00B6 using utf8), '%')
    Написано
  • Как удалить ¶ из sql?

    @alexalexes
    Если и char(0xB6 using utf8), и char(0x00B6 using utf8), тогда вот так:
    update oc_setting
    set value = replace(replace(value, char(0xB6 using utf8), '\r\n'), char(0x00B6 using utf8), '\r\n')
    Написано
  • Как удалить ¶ из sql?

    @alexalexes
    Не нужно пользоваться update-ом для поиска, сломаете данные при необдуманной правке.
    Используйте select:
    select *
    from oc_setting
    where value like concat('%', char(182), '%')
    -- value like concat('%', char(1987), '%')
    -- value like concat('%', char(0xB6), '%')
    -- value like concat('%', char(0x00B6), '%')
    -- value like concat('%', char(0xB6 using utf8), '%')
    -- value like concat('%', char(0x00B6 using utf8), '%')

    Тут куча вариантов получения этого символа. Что даст не нулевую выборку, тот код и используйте для замены.
    Написано
  • Как удалить ¶ из sql?

    @alexalexes
    Да, взять hex редактор и посмотреть коды символов в тексте.
    Написано
  • Как удалить ¶ из sql?

    @alexalexes
    Этим запросом проверить, что в каждой строке new_value формируется валидный JSON (если уверены, то можно проверить некоторые строки):
    SELECT value,
    replace(replace(replace(value, char(0x0A using utf8), '\\n'), char(0xc2b6 using utf8), '\\r\\n'),  char(0x0D using utf8), '\\r') AS new_value
    FROM table_name

    Далее сделать экспорт таблицы или базы данных.
    Желательно, между моментом начала бэкапа и последним корректным update-ом обеспечить невозможность вносить новые данные в исправляемую таблицу.
    Теперь нужно разобраться с утилитой, через которую вы посылаете запрос в СУБД.
    Если вы делаете запрос на phpmyadmin, то нужно убедиться что время выполнения скрипта php перед таймаутом будет больше чем запрос update.
    Если время выполнения скрипта нельзя трогать или как-то увеличить до разумных пределов, то в запрос update придется подставлять limit и обновлять записи порциями, обработка которых гарантировано заходит во время выполнения.
    Далее, понять как работают транзакции в программе, с помощью которой посылаете запрос.
    Для phpmyadmin всегда работает auto commit. Это значит, что по завершении запроса update данные в базе кристализуются без каких транзакционных команд (commit, rollback) и будут доступны для выборки.
    Если для выполнения запроса вы используете консоль или какую-то десктоп прогу, то тоже нужно убедиться как работает режим транзакций.
    Если вы отмените автокамит, то после update должны сами скомандовать commit/rollback в зависимости от того, готовы ли морально выкристализовать изменения в базе. После команды commit-а откатить изменения нельзя, только возиться с бэкапом.
    Собственно, сам update:
    update table_name
    set value = replace(replace(replace(value, char(0x0A using utf8), '\n'), char(0xc2b6 using utf8), '\r\n'),  char(0x0D using utf8), '\r')
    Написано
  • Как удалить ¶ из sql?

    @alexalexes
    Починить можно update-ом, но нужно убедиться, что заплатка из реплейсов работает на 99% данных. Подстраховать себя резервной копией таблицы или даже базы.
    До исправления такую же заплатку нужно ставить на select-ы, если процесс поиска источника затянется.
    Написано
  • Как удалить ¶ из sql?

    @alexalexes
    Значит, где-то есть форма, которая позволяет вносить такой контент не по общим правилам. Посмотрите, какие пользователи имеют доступ на внесение этих данных и как у них выглядит эта форма в плане сохранения изменений.
    Написано
  • Как удалить ¶ из sql?

    @alexalexes
    Валидный JSON хотите получить, тогда это меняет дело.
    Тогда никаких символьных представлений переноса строк на выходе не должно быть, они должны стать именно '\r\n' (этими 4-мя символами, а не двумя байтами).
    Тогда для всех возможных видов символов переносов нужно подготовить замену на экранирующий эквивалент:
    SELECT value,
    replace(replace(replace(value, char(0x0A using utf8), '\n'), char(0xc2b6 using utf8), '\r\n'),  char(0x0D using utf8), '\r') AS new_value
    FROM table_name

    Или даже так, в зависимости от того как будет происходить последующая обработка строки (вдруг далее будет еще какое-то разэкранирование, чтобы потом отдекодить JSON):
    SELECT value,
    replace(replace(replace(value, char(0x0A using utf8), '\\n'), char(0xc2b6 using utf8), '\\r\\n'),  char(0x0D using utf8), '\\r') AS new_value
    FROM table_name

    А вообще, проблему нужно решать в том модуле, который заносит в базу невалидный JSON, он не должен пропускать ни одного невалидного символа для нотации JSON, должен их либо удалять либо подставлять экранирующую последовательность.
    Написано
  • Как удалить ¶ из sql?

    @alexalexes
    Вы хоть отличаете, где корректно записано число?
    SELECT value,
    REPLACE(value, char(0xc2b6 using utf8), concat(char(0x0D using utf8), char(0x0A using utf8))) AS new_value
    FROM table_name
    Написано
  • Как удалить ¶ из sql?

    @alexalexes
    если будете update использовать, то изменения сохранятся в базу. Если будете преобразовывать вывод value при select-e, то изменится только вывод.
    Написано
  • Как в flex опустить вниз последний элемент?

    @alexalexes
    Есть такой вариант:
    .flex
    {
    ....
    position: relative;
    }
    .item-5
    {
     position: absolute;
      bottom: 0;
    }

    Но от него смердит попыткой поддержки старых браузеров Internet Explorer, в которых не развит flex.
    Еще недостатком является то, что элемент item-5 не будет чуять присутствие других элементов в контейнере flex, если вдруг кому-то захочется выйти из своих размеров.
    Написано