Задать вопрос
  • Как сбросить только 1 input file?

    @alexalexes
    Можно использовать css превдокласс nth-child, чтобы выловить нужный элемент с одинаковым классом в пределах одного контейнера.
    $('.image-upload:nth-child(' + номер_интупа_начиная_с_единицы + ')').val('');

    Можно воспользоваться возможностями jquery:
    $('.image-upload')[номер_интупа_начиная_с_нуля].val('');

    А вообще, тут напрашивается сделать шаблон в VueJS, чтобы обеспечить привязку элементов DOM-дерева и бизнес-логики скрипта. Чтобы не высчитывать на каждое событие, а для какого i-ого элемента оно предназначено. Но это уже совсем другая история.
    Ответ написан
    Комментировать
  • Почему не работает сравнение?

    @alexalexes
    Добавьте в начале скрипта заголовки:
    header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache");

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

    @alexalexes
    Утилита Acronis Disk Director, записанная на флешку и загружаемая вне системы.
    Вариант А. Расширение раздела C, хотя бы до 200 Гбайт.
    1. Применить операцию resize на раздел D со сдвигом начала раздела в сторону конца диска - при пустом разделе займет минимум времени, при заполненном - может до пары часов.
    2. Применить операцию resize на раздел C со сдвигом конца раздела в сторону конца диска - при любой заполненности выполняется не более пары минут.

    Вариант Б. Удаляем раздел D, заполняем все пространство разделом C.
    1. Удаляем раздел D. Можно даже из "Управления дисками" из windows сделать.
    2. Применить операцию resize на раздел C со сдвигом конца раздела в сторону конца диска - при любой заполненности выполняется не более пары минут.
    Ответ написан
    Комментировать
  • В чём отличие результатов кодировок `encodeURI`, `encodeURIComponent` и `application/x-www-form-urlencoded`?

    @alexalexes
    Отличия в охвате специальных символов, которые подвергаются конвертированию.
    Функция encodeURI меньше охватывает символов, а функция encodeURIComponent - больше.
    Но ни та, ни другая не достигает стандарта RFC 3986, чтобы считаться полностью правильно закодированным в вид контента application/x-www-form-urlencoded (смотрите документацию по encodeURI).

    PS: Со стороны php сервера такая же история. Есть urlencode/urldecode - которые неполные по RFC 3986, а есть rawurlencode/rawurldecode - которые полностью удовлетворяют стандарту RFC 3986. При кастомном конструировании http пакетов предпочтительно использовать последние.
    Ответ написан
    1 комментарий
  • Как сделать фиксированный header во Vue?

    @alexalexes
    Вам нужно только свойство position: sticky для header, для этого js не нужен.
    https://developer.mozilla.org/ru/docs/Web/CSS/position
    Ответ написан
    Комментировать
  • Как заставить материнку не инициализировать конкретный диск во время POST?

    @alexalexes
    Как вариант, сделать разрыв в питании 5 вольт SATA и поставить туда реле задержки времени, чтобы электроника диска оживала в нужный момент.
    Вот такое:
    https://aliexpress.ru/item/4001197386459.html
    Само реле тоже можно поставить на 5В. Время отрегулировать по загрузке системы.
    Ответ написан
  • Как сделать правильно выборку с двойной сортировкой?

    @alexalexes
    Чтобы решить задачу, нужно иметь ввиду, что order by может не только напрямую работать с колонками таблиц, но с любым вычисляемым выражением в пределах свойств одной результирующей строки.
    В данном случае, вам нужно в приоритете отсортировать результат выборки по ms2.availability > 0 и ms2.availability = 0, но не беря во внимание вес значения ms2.availability.
    Можно использовать выражение ms2.availability = 0, выводящее true или false, которое будет обработано order by.
    SELECT ms2.*, ec.rating
    FROM `rt_ms2_products` AS `ms2`
    LEFT JOIN `rt_ms2_reviews` AS `ec` ON ms2.id=ec.id
    GROUP BY ms2.id
    ORDER BY ms2.availability = 0, ec.rating DESC
    LIMIT 0, 20

    Впрочем, если попадется СУБД, где нельзя работать с булевым типом в order by, то выручит case...end, результат который даст 0 или 1 - это универсальный подход.
    SELECT ms2.*, ec.rating
    FROM `rt_ms2_products` AS `ms2`
    LEFT JOIN `rt_ms2_reviews` AS `ec` ON ms2.id=ec.id
    GROUP BY ms2.id
    ORDER BY case when ms2.availability = 0 then 1 else 0 end, ec.rating DESC
    LIMIT 0, 20
    Ответ написан
    9 комментариев
  • Как удалить ¶ из sql?

    @alexalexes
    update table_name
    set value = replace(value, char(код символа ¶), concat(char(код символа \r), char(код символа\n)))

    Только не копипасьте вслепую, а разберитесь с вложенными функциями, в какой кодировке база и какие коды символов можно использовать для замены.
    Перед применением update проверьте результат select-ом:
    select value,
              replace(value, char(код символа ¶), concat(char(код символа \r), char(код символа\n))) as new_value
    from table_name
    Ответ написан
    31 комментарий
  • Почему Windows на SSD запускается только с HDD?

    @alexalexes
    Перед установкой системы нужно самому управлять утилитой разметки диска и вручную размечать будущие разделы. Вероятно, вы указали утилите что-то сделать с неразмеченным пространством. Утилита не только создала разметку диска но и "по своему усмотрению" создала отдельные служебные разделы на другом диске, через которые должна загружаться система (хотя в ручном режиме можно исключить создание служебных разделов).
    Ответ написан
  • Как в flex опустить вниз последний элемент?

    @alexalexes
    .item-5
    {
        margin-top: auto !important;
    }
    .border
    {
        background-color: #0f3feb;
        margin: 0 10px;
        width: 100px;
        height: 60px;
    }

    Обратите внимание на селектор .border - он имеет одинаковый уровень специфичности с .item-5, поэтому перебивается параметр margin (требуется костыль в виде !important).
    Если нужно обозначить более специфичные свойства отдельных элементов, то .item-5 селектор нужно писать после селектора .border либо добавлять вес специфичности, например div.item-5, чтобы избавиться от костыля !important.
    Ответ написан
  • Как отфильтровать таблицу по столбцу значение которого входит/не входит в список значений?

    @alexalexes
    Вариант 1:
    Пришить NOT в текст запроса, в зависимости от состояния p1:
    "SELECT * FROM [dbo].[data] WHERE ([dbo].[data].[intField] " + (p1 ? "" : "NOT") + " IN (0,1,2,8,9))"

    Вариант 2, если MS SQL поддерживает тип bool в SQL, то такое выражение:
    SELECT * FROM [dbo].[data]
          WHERE @p1 = true and [dbo].[data].[intField] IN (0,1,2,8,9)
                  or @p1 = false and [dbo].[data].[intField] NOT IN (0,1,2,8,9)

    Вариант 2.1, если MS SQL не поддерживает тип bool в SQL, то нужно p1 придать значение 0/1 вместо false/true, тогда выражение:
    SELECT * FROM [dbo].[data]
              WHERE @p1 = 0 and [dbo].[data].[intField] IN (0,1,2,8,9)
                      or @p1 = 1 and [dbo].[data].[intField] NOT IN (0,1,2,8,9)
    Ответ написан
    Комментировать
  • Подойдёт ли ssd к моему ноутбуку?

    @alexalexes
    Для SSD потребление тока не принципиально, тем более если вы заменяете что-то на интерфейсе SATA ноутбучного размера (2,5 дюйма).
    Ответ написан
    Комментировать
  • Можно ли задать ширину блоку относительно родителя предыдущего?

    @alexalexes
    Можно, но вам придется поломать вложенность зеленого блока в синий блок с помощью свойства position.
    Красному блоку дать свойство:
    position: relative
    Зеленому блоку дать свойство:
    position: absolute
    Ответ написан
  • Как задать второе значение переменной если 1 не найдено?

    @alexalexes
    if(isset($gorod))
    {
      $city = $gorod;
    }
    else
    {
      echo 'Просто текст';
    }
    Ответ написан
    Комментировать
  • Как снять такой куллер?

    @alexalexes
    621a12f4927d8863128704.jpeg
    1. Надавить вниз на оба крепления с одинаковым усилием, пока не ослабнет натяжение на проушинах.
    2. Отвернуть крепления так, чтобы освободить проушины, не ослабляя усилие 1.
    Ответ написан
    Комментировать
  • Как поправить mysql запрос?

    @alexalexes
    Классика жанра - подставить что-то в секцию запроса where из данных фильтра.
    Вы можете изменить запрос в зависимости от входных параметров, но есть один подводный камень.
    Вот так делать не надо:
    $sql = "select ...
    from ...
    where 1 = 1
    ".(isset($_POST['status']) ? ' and medialib.status LIKE '.$_POST['status'] // тут сшили текст запроса и значение параметра (эти два слова нужно подчеркнуть) 
     : "")

    Прямая подстановка дает возможность проводить sql инъекции.
    Правильно нужно примерно так:
    $bind_params = [];
    if(isset($_POST['status']))
      $bind_params['status'] = $_POST['status'];
    $sql = "select ...
    from ...
    where 1 = 1
    ".(isset($bind_params['status']) ? " and medialib.status LIKE :status " // тут сшили текст запроса со специальным маркером (может использоваться знак ? )
     : "")
    foreach($bind_params as $bind_param)
    {
      // тут привязываем каждое значение параметра с маркером в запросе через функцию bind_param (интерфейс и название функции зависит от библиотеки для соединения с базой данных)
    }
    Ответ написан
    Комментировать
  • Как используя такую конструкцию .* в sql можно дать название подстолбцам, которые будут выведены?

    @alexalexes
    И мне нужно использовать такую конструкцию:
    select food.* from table

    Странное требование, но можно обойти оборачиванием.
    select food.*
    from(select t.Milk as food_Milk, t.Oil as food_Oil
            from table as t) as food
    Ответ написан
  • Какой HDD объемом 2 Тб, выбрать?

    @alexalexes
    WD Purple любой. В комиссионном магазине можно найти и 4 Тбайт за такую цену, главное, посмотреть SMART.
    Ответ написан
  • Как удалить # из url, чтобы не мешал обновлению страницы?

    @alexalexes
    Добавьте "return false" чтобы предотвратить действие по умолчанию при клике на ссылку - переход по ссылке.
    onclick="window.location.reload(); return false;"
    Ответ написан
  • Как сделать цикличный цикл php?

    @alexalexes
    Положить меню в базу данных в виде структуры:
    MENU - таблица с анонсами меню
    menu_id - код анонса меню
    public_date - дата анонса

    DISH - таблица блюд (без привязки к меню)
    dish_id - id блюда
    title - название блюда
    dish_text - текст состава

    Таблица, обеспечивающая состав меню из блюд
    MENU_CONSIST
    cons_id
    menu_id
    dish_id
    position - порядок вывода

    Имея такую структуру, можно составить запрос на вывод меню на ближайшие 30 дней:
    select *
     from menu m
      join menu_consist mc on mc.menu_id = m.menu_id
      join dish d on d.dish_id = mc.dish_id
    where m.public_date >= CURDATE()
       and m.public_date <= CURDATE() + INTERVAL 30 DAY
    Ответ написан
    Комментировать