У меня есть приложение JS, где пользователи могут ввести время в форме и могут вернуться к форме Измените время позже. Запись отправляется в DB MySQL с использованием PHP и хранится в столбце типа времени. Будут случаи, когда пользователю нужно будет войти в полночь, и другие случаи, когда пользователю нужно будет намеренно оставить время пустым (поэтому он не может отображаться как полночь), поэтому важно, чтобы время отображалась как »-:- «В поле ввода формы, если ее еще предстоит ввести, но как« 12:00 », если пользователь фактически намеревается, чтобы запись была полночь. До тех пор, пока значение хранит в ДБ как нулевое, он работает нормально. < /P>
Проблема в том, что если я просто позволю значения переходить от JS к PHP, а затем вставьте как переменную $ Time_Entry 'При отправке из PHP «NULL» из JS интерпретируется как '12: 00' на вставке (кажется, обусловлено фактом отдельных кавычек вокруг переменной может привести к тому, что она читается как 0?).
Мой текущий обходной путь - просто тестировать на NULL и иметь две отдельные операторы вставки: < /p>
Код: Выделить всё
if null{ "INSERT INTO `TBL` (`TIMECOLUMN`) VALUES (NULL)"}
else { "INSERT INTO `TBL` (`TIMECOLUMN`) VALUES ('$TIME_ENTRY')"
ИЗ JS:
Код: Выделить всё
var t = $("#time_entry_field").val();
var request = $.ajax({
url: "PHPFile.php",
type: "POST",
async: true,
data: "Time=" + t,
success: function(){
...etc
}
})
< /code>
в "phpfile.php": < /p>
$TIME_ENTRY = $_POST['Time'];
$conn->query("INSERT INTO `TBL` (`TIMECOLUMN`) VALUES ('$TIME_ENTRY')");
Однако: < /p>
Код: Выделить всё
$TIME_ENTRY = $_POST['Time'];
$conn->query("INSERT INTO `TBL` (`TIMECOLUMN`) VALUES (NULL)");
Есть ли какой-нибудь простой способ использовать один оператор вставки, не зацикливаясь на пустой строке из JS, читающего как 0 в php? Мне приходится делать много разных версий этого, поэтому писать миллион операторов if кажется очень расточительным...
Подробнее здесь: https://stackoverflow.com/questions/793 ... etime-valu
Мобильная версия