当我点击li标签时,它会获得数据值,但是当我插入它时,它具有空值

时间:2017-11-03 08:19:15

标签: javascript php jquery web

点击时,我获得了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>

2 个答案:

答案 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']