PHP MySQL Single INSERTJavascript

Форум по Javascript
Ответить
Anonymous
 PHP MySQL Single INSERT

Сообщение Anonymous »

Приносим извинения вперед: самоучка, так что иногда я скучаю по чему -то действительно простому ... < /p>
У меня есть приложение 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')");
Выше приведет к тому, что значение будет хранить значение как '12: 00: 00 'в моем DB при получении пустой строки от $ ("#time_entry_field"). val ().
Однако: < /p>

Код: Выделить всё

$TIME_ENTRY = $_POST['Time'];
$conn->query("INSERT INTO `TBL` (`TIMECOLUMN`) VALUES (NULL)");
работает должным образом и сохраняет значение как NULL.
Есть ли какой-нибудь простой способ использовать один оператор вставки, не зацикливаясь на пустой строке из JS, читающего как 0 в php? Мне приходится делать много разных версий этого, поэтому писать миллион операторов if кажется очень расточительным...

Подробнее здесь: https://stackoverflow.com/questions/793 ... etime-valu
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»