Показать сообщение отдельно
  #6 (permalink)  
Старый 26.02.2017, 20:51
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от qpurypaHT
т.е. в страктуре sql полю status установить "По умолчанию" NULL и далее запрос типа
Вообще-то для такого выгоднее или BOOLEAN или TINYINT тип поля, ну или ENUM. Ведь значение этого поля как activated/deactivated не несет в себе никакого глубокого смысла, а с токи зрения производительности проигрывает ранее указанным трем типам. Первые два типа это числа, а ENUM только в отображении строка, во внутреннем представлении это числа. Вы же сознательно оперируете строками там, где большой надобности в них нет.

Работа флажка как элемента формы имеет особенность - если флажок не выбран, то он на север не передается. Следовательно - пришел флажок, пишем в базу 1, нет флажка, пишем 0. Если значению флажка указать 1 и если нотайсы отключены, что должно быть правилом на удаленном сервере, то проверка его наличия и значения проста:

$check = (int)$_POST['check'] & 1; //пишем $check в базу


Сообщение от qpurypaHT
не знаю что значит ? и :
Это тернарный условный оператор. Его можно привести к более сокращенному виду по логике равному JS выражению a = b || c:

$check = (int)$_POST['check'] ?: 0; //то есть не важно что хранит $_POST['check'], какое число, важно что установлено, либо по умолчанию - 0, не установлено
//хотя в данном случае, если не важно, это лишено смысла, но показано для примера


Ну и при выводе:

<input type="checkbox" value="1" <?=$cordinators['status'] ? 'checked' : null?>>


В случае ENUM, это 1 => неактивен, 2 => активен, или наоборот. Видим при выводе, к примеру для контроля, неактивен / активен, в базу можно писать 1 и 2, соответственно, как и искать по 1 и 2 при выборке. Читайте SQL.
Ответить с цитированием