SELECT UNIX_TIMESTAMP(expiration_date) FROM you_table
Если при выборке вы не задали преобразование времени через определенную функцию, то база сделает это преобразование в формат по умолчанию за вас. Это касается именно отображения.
Формат хранения времени однозначно не будет в человекочитаемом виде, это очень компактная цифра и ее нужно постоянно во что-то преобразовывать, чтобы вывести из недр БД.
Вы хотите вычислять результат в ячейках с жестко заданной формулой программистом, или хотите позволить пользователю самому заполнять формулы?
Реализация первого случая - тривиальная.
Второй случай (аля-Excel) потребует от вас погружения в теорию конечных автоматов.
Вам придется создать автомат, который производит калькуляцию выражения, записанного строкой.
А теперь объясните словами, что хотели сделать с помощью первой формы, а что - второй?
Потому что первая форма "не знает" куда будет отправлять свое содержимое (нету атрибутов action и method), и в принципе, не может сабмитить.
Тут ничего не надо проверять.
Но во всех остальных случаях, когда используется update и delete лучше держать ухо востро, даже если есть backup на подстраховке, дописать select легче чем проводить мероприятия по восстановлению.
Что-то у вас с бизнес-логикой все скомкано.
Серверный скрипт должен как минимум обрабатывать вот эти этапы:
1) Авторизация пользователя;
2) Выход из системы;
Для начальника доступны этапы:
3а) Просмотр списка отделов;
4а) Получение списка сотрудников по выбранному отделу;
5а) Получение задач выбранного сотрудника;
6а) Создание, изменение, удаление новой задачи (полный CRUD);
7а) Привязка, отвязка задачи от сотрудника;
8а) Отображение текущих задач, просроченных, важных и тд на данный момент времени.
Для сотрудника:
3б) Получение списка всех задач;
4б) Чтение, изменение состояния задачи (неполный CRUD).
5б) Отображение текущих задач, просроченных, важных и тд на данный момент времени.
На каждый этап будет описана своя ветка кода на стороне сервера, и как минимум по одному запросу, несчитая проверки прав доступа.
Так что вам нужно все это закодить как самостоятельные задачи. Это минимум.
Еще не хватает волшебного слова - AJAX.
Именно главу с описанием этой технологии пропускают новички, когда задают подобные вопросы, связанные с представлением данных на клиенте (браузер - JS), которые они сформировали на сервере (сервер - PHP).
В какой среде пытаетесь работать с лайтом?
Если выяснять ручками, то нужно обращаться через консоль к таблице SQLITE_MASTER - в ней представлены все объекты базы, которые есть в файле. Связи можно узнать из текстов запросов, которые хранятся в поле sql для каждого объекта в этой таблице.
Подробно: https://habr.com/post/223451/
Изменение url производится в свойстве window.location.href. Но это действие влечет за собой неминуемую перезагрузку страницы, кроме тех случаев, когда меняется только якорь.
Ладно, переправил.
А вообще, я не люблю когда большой кусок кода обернут в if-блок.
Если if несколько, потом догадайся по табуляции, к какому условию относится этот блок.
А так сделал return в нужном месте, и табуляция не страдает.
haramba, спасибо что поправили.
Когда для себя изучал вопрос, чем отправлять почту на PHP, то отметил некоторую неполноту встроенной функции mail(). И она заключалась скорее не в формировании HTML верстки, а в том, что нельзя прикреплять файлы.
----
Открылись через Tor.