点击时,我获得了li标签数据值。现在我需要将值insert插回到数据库中,但它在我的数据库中显示null值。但是我使用console.log它显示了价值。
如何获取值并插入数据库?
mymoviemanagement.php:
$ movie的值为null
if (isset($_POST["btn_adddate"])) {
$s_date2 = $_POST['s_date2'];
$movie = $_POST['movie_id'];
$asd = "sdsd";
if($stmt = $conn->prepare("INSERT INTO movie_date (date,movie_id) VALUES (?,?)")) {
$stmt->bind_param("si", $s_date2, $movie );
$stmt->execute();
$stmt->close();
echo "successful adddate";
echo $movie;
echo $asd;
}
else{
echo "fail adddate";
}
}
mymoviemanagement.php中的Javascript:
<script>
$(".ul_movie2").on('click', 'li', function () {
var movie_id = $(this).attr('data-value');
console.log(movie_id)
if(movie_id !== "") {
$.ajax({
url:"mymoviemanagement.php",
data:{movie_id:movie_id},
type:'POST',
success:function(response) {
}
});
}
});
</script>
HTML:
<form action="mymoviemanagement.php" name="adddate" role="form" method="post" id="adddate" class="">
<div class="nice-select dropdown-toggle" id="selectmovie2" data-toggle="dropdown" tabindex="0" style="margin-left: 200px; margin-top: 29px;"><span class="current">Select Movie</span>
<ul class="dropdown-menu scrollable-menu ul_movie2" id="m_movie" >
<?php
$sql = "SELECT DISTINCT movie.id,movie.name, movie.image
FROM movie
INNER JOIN movie_genre
ON movie.id = movie_genre.movie_id
INNER JOIN genre ON genre.id = movie_genre.genre_id";
$res = mysqli_query($conn, $sql);
if(mysqli_num_rows($res) > 0) {
while($row = mysqli_fetch_object($res)) {
echo '<li data-value="' . $row->id . '"class="option" style="margin-top:10px; margin-bottom:10px;"><img src="' . $row->image . '" style="width:50px; height:80px; margin-right:10px;">' . $row->name . '</li>';
}
}
?>
</ul>
</div>
</form>
答案 0 :(得分:0)
我想问题可能是您的move_id
数据库列在通过AJAX请求发送STRING类型时需要INTEGER。
你能在这里发布你的HTML代码吗,因为没有它,我们就没有关于你情况的完整信息......
答案 1 :(得分:0)
其实我得到了价值。
但我应该改变:
<input type="text" value="" id="result">;
到
<input type="text" value="" id="result" name="result">;
所以在PHP:
$movie = $_POST['result'];
将获得价值。
我自己弄错了,只需要在输入标签上添加name="result"
。所以只能获得值$_POST['result']
。