UPDATE нескольких строк одного поля - MySQL

103
31 октября 2021, 07:40

Есть таблица table в БД, где два поля у них - две записи:

   id  field1 field2
     1    asc     1
     2    desc    0

имеется HTML тег select с выбором двух полей:

<select name="filter">
    <option value="asc">возрастание</option>
    <option value="desc">уменьшение</option>
    </select>

Как у field2 сделать UPDATE, чтобы постоянно были 0 и 1 в зависимости от выбора select на форме? Например, если выбран "возрастание", то в БД asc = 1, desc = 0 и наоборот

Answer 1

можно в таблицу добавить тригеры на обновление и инсерт

CREATE  TRIGGER `tr_upd` BEFORE UPDATE ON `table` FOR EACH ROW BEGIN
 IF( NEW.field1 == 'asc') THEN
 SET NEW.field2 = 1;
 ELSE
 SET NEW.field2 = 0;
 END IF;
 END;
Answer 2

Тут можно использовать обычный SQL-запрос, советую пользоваться MySQLi-драйвером, читайте док-ию. сам запрос и псевдо-код:

если выбран OPTION1 (Возрастание): 
UPDATE `table` SET asc = 1, desc = 0; 
если выбран OPTION2 (Убывание): 
UPDATE `table` SET asc = 0, desc = 1;

READ ALSO
Как создать sql запрос between для атрибутов?

Как создать sql запрос between для атрибутов?

На странице магазина через get параметр передаётся числовое значение выбранного атрибута, $_GET['min_probeg'] и $_GET['max_probeg']`Сам атрибут товара в админке...

197
Запрос выполняется дважды

Запрос выполняется дважды

Есть такой кода в success ajax:

98
Как автоматически подставить данные и сделать авторизацию?

Как автоматически подставить данные и сделать авторизацию?

Доброго времени суток всемСтолкнулся вот с такой проблемой

135
Не работает плагин ACF на странице

Не работает плагин ACF на странице

Подключил плагин ACF, и создал свою новую страницу sendphp, при переходе по ссылке на страницу в разделе Страницы всё корректно добавляется, но по ссылке...

143