У меня есть проект с живой таблицей, привязанной к базе данных MySQL.Вставка даты в базу данных
Я сделал форму, которая будет использоваться для ввода пользователей и вставить в базу данных. Но мне сложно вставить дату.
Я использовал JQuery и Ajax, чтобы передать значения как datastring в моем PHP документ, который выполняет запрос вставки:
JQuery/Ajax:
$('.btn-add').click(function() {
if ($('.add-form').is(':hidden')) {
$('.add-form').slideDown(400);
$(this).children('i').fadeOut(100);
} else {
var title = $("#title").val();
var genres = $("#genres").val();
var languages = $("#languages").val();
var dev = $("#dev").val();
var date = $(".picker").next().val().split(".").reverse().join("-");;
// I used a date picker for this. It picks the date as "dd.mm.yyyy."
//and I had jquery convert it to "yyyy-mm-dd" for mysql compatibility.
var dataString = 'title1=' + title + '&genres1=' + genres + '&languages1=' + languages + '&dev1=' + dev + '&date1=' + date;
if (title == '' || genres == '' || languages == '' || dev == '' || date == '') {
Materialize.toast('Please complete all the forms.', 4000);
} else {
// AJAX Code To Submit Form.
$.ajax({
type: "POST",
url: "php/add-game.php",
data: dataString,
cache: false,
success: function (result) {
tableLoad();
Materialize.toast(result, 4000);
$('.add-form').slideUp(400);
$('.btn-add').children('i').fadeIn(100);
}
});
}
}
});
надстройку game.php:
<?php
$conn = mysqli_connect("localhost", "root", "****", "db-name");
$title = $_POST["title1"];
$genres = $_POST["genres1"];
$languages = $_POST["languages1"];
$dev = $_POST["dev1"];
$date = $_POST["date1"];
$sql = "INSERT INTO games (title, genres, languages, developer, release-date)
VALUES ('$title', '$genres', '$languages','$dev','$date')";
if ($conn->query($sql) === TRUE) {
echo "Success!";
} else {
echo "Something went wrong.";
}
$conn->close();
?>
Теперь я попробовал код, передавая только первые 4 текстовых значения без даты, и он работал нормально: новая строка была добавлена с информацией о входе, а таблица обновилась, но я не похоже, чтобы он правильно вставлял дату.
Я пробовал эхо $date
с сообщением об ошибке внутри документа .php
, и он показывает мне дату в формате «yyyy-mm-dd» просто отлично. Но все же что-то пошло не так, и я не могу сказать, что это такое.
редактировать-1:
редактировать-2: Содержимое файла debug.txt:
Как вы можете видеть , формат даты в порядке. (15 марта 2015)
Является ли поле даты выпуска в вашей базе данных полем даты? Что хранится в базе данных? Или вообще ничего ... может также поделиться вашей структурой db? – LinkinTED
Добавьте 'file_put_contents ('debug.txt', print_r ($ _ POST, TRUE));' вверху кода. Затем посмотрите на 'debug.txt', чтобы узнать, что происходит от вашего javascript-кода. Опубликуйте это в своем вопросе с помощью редактирования. – RiggsFolly
, можете ли вы указать дату и время инициализации кода и определения таблицы базы данных. –