Алгоритм выполнения по условию

231
20 июля 2018, 14:20

Ребята помогите битый час не могу до курить одну штуку. В общем в БД есть поле в которое через jq пост запрос обновляются данные тип поля int(11).

На страницу вывожу переменную с значением из поля (бд). Для примера это будет так:

my_sum = '22';

И есть кнопки которые отправляют разные суммы чисел для изменения этого поля (бд).

Которые добавляются так:

update `myTable` set summ=summ+".$_GET['my_sum']." where id='".$id."'

И есть кнопки которые отнимают число 100 и 50.

update `myTable` set summ=summ-".$_GET['my_sum']." where id='".$id."'

Так вот как составить алгоритм условие дабы если значение переменной my_sum равно 22 отнимало разницу между 22 и 100 или 50. Но так же если my_sum равен 0 то отравлять 0 а, не 100 или 50.

Ибо если my_sum равен 22 и нажать на отнять 100 в бд в поле заносится -78.

Помогите решить заранее большое спасибо!

Answer 1

В MySQL есть функция GREATEST() которая возвращает максимальный аргумент из переданных. Вот вам и нужно использовать эту функцию

update `myTable` set
  summ = GREATEST(summ - " . $_GET['my_sum'] . ", 0)
where
  id = '".$id."'
Answer 2
$query = "update `myTable`  
set `summ`= IF((summ-".$_GET['my_sum']) < 0, 0, summ-".$_GET['my_sum'].")  
where id='$id'";

Надо проверять что тебе через GET подсунули.

READ ALSO
Не находит регулярное выражение

Не находит регулярное выражение

На сайте есть многострочная статья с разделом "содержание" вначале:

243
Как в Laravel сделать redirect После Ajax Post запроса?

Как в Laravel сделать redirect После Ajax Post запроса?

Запрос отправленный по аякс после валидации, вместо того чтобы перенаправится в страницу \home, возвращает в консоль ошибку вместе с содержимым...

243
Повторно отправляются данные

Повторно отправляются данные

Доброе утроПодскажите, на html странице имеется таблица с именами, фамилиями и чекбоксами

244
Установка laravel или yii2

Установка laravel или yii2

Всем приветЯ начинающий php-шник и решил изучить какой нибудь фреймвор

260