【问题标题】:When I click on li tag, it get data-value, but when I insert into it has null value当我点击 li 标签时,它会获取数据值,但是当我插入它时,它有空值
【发布时间】:2018-04-15 22:00:50
【问题描述】:

点击时我得到了 li 标签数据值。现在我需要使用值插入回数据库,但它在我的数据库中显示空值。但我使用 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>

【问题讨论】:

    标签: javascript php jquery web


    【解决方案1】:

    我想问题可能是当您通过 AJAX 请求发送 STRING 类型时,您的 move_id 数据库列需要一个 INTEGER。

    您能否在此处发布您的 HTML 代码,因为没有它,我们无法获得有关您情况的完整信息...

    【讨论】:

    • 是的,我的数据库列需要一个 INTEGER,这是有道理的,也许我发送了字符串值,我已经发布了
    【解决方案2】:

    其实我得到了价值。

    但我应该改变:

    <input type="text" value="" id="result">;
    

    进入

    <input type="text" value="" id="result" name="result">;
    

    所以在 PHP:

     $movie = $_POST['result'];
    

    将获得价值。

    我自己弄错了,只需要在输入标签处添加name="result"。所以只能得到$_POST['result']的值。

    【讨论】:

      猜你喜欢
      • 2022-08-10
      • 2018-09-25
      • 2014-06-26
      • 1970-01-01
      • 1970-01-01
      • 2016-11-05
      • 2011-06-01
      • 2021-10-02
      • 1970-01-01
      相关资源
      最近更新 更多