创建动态下拉按钮

时间:2016-01-01 17:45:33

标签: php

我的数据库中有两个表

movie-&G​​T; movie_id,movie_title

screening-> scr_id,movie_id,scr_date,scr_start

我正在尝试制作三个相关的下拉列表,其中日期和时间根据所选的电影自动显示在列表中。 Dropdown list. 我在我的选择列表上面调用了一个javascript函数,就像这个

<?php
     include_once("class/db_inc.php");
?>


<script type="text/javascript">
                    $('#movie').change(function() {
                    var id=$(this).val();
                    $.ajax
                    ({
                    type: "POST",
                    url: "ajax.php",
                    data: "&id="+id+"&get_date=1",   
                    success: function(html)
                    {
                    $("#date").append(html);
                    } 
                    });
                    });


                    $('#timeime').change(function() {
                    var id=$(this).val();
                    $.ajax
                    ({
                    type: "POST",
                    url: "ajax.php",
                    data: "&id="+id+"&get_time=1",   
                    success: function(html)
                    {
                    $("#time").append(html);
                    } 
                    });
                    });
                </script>
    <select class="list_of_movies" name="movie" id="movie"><option value="">Select Movie</option>
                  <?php
                     $res=$schedule->getmoviedetail();
                        while ($row=$connect->fetchArray($res))
                        {
                          $movie_id=$row['movie_id'];
                          $title=$row['movie_title'];
                          echo "<option value='$movie_id'>$title</option>";
                        }
                    ?>
    </select>

                        <select class="list_of_movies" name="date" id="date"><option value="">Select Date</option>
                        </select>

                        <select class="list_of_movies" name="time" id="time" ><option value="">Select Time</option></select> 
                       <div class="tab_desc">
                       <a href="movie-select-show.html">Book Now</a>
                       </div>

我的ajax.php就像这样

<?php 
include_once("class/db_inc.php");

if($_REQUEST['get_date']){
    $sql=mysql_query("SELECT * FROM `screening`  where `movie_id`=".$_REQUEST['id']);
 $date="";
 while($row=mysql_fetch_array($sql))
    {
      $sid=$row['scr_id'];
      $sdate=$row['scr_date'];

      $date.= "<option value='".$sid."'>".$sdate."</option>";
    }
echo $date;
}

elseif($_REQUEST['get_time']){
$time="";
    $sql=mysql_query("SELECT * FROM `screening`  where `movie_id`=".$_REQUEST['id']);

    while($row=mysql_fetch_array($sql))
    {
      $sid=$row['scr_id'];
      $stime=$row['scr_start'];

     $time.= "<option value='".$sid."'>".$stime."</option>";
    }
echo $time;
}
?> 

第一个下拉列表显示电影列表正常。但第二次和第三次下拉完全没有效果。我现在被困在这一天了。有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:0)

HTML.您遇到问题。您没有正确关闭电影 <select>

答案 1 :(得分:0)

将您的Javascript更改为:

<script type="text/javascript"> 
$(function () {
  $('#movie').change(function() {
    var id = $(this).val(); 

    $.ajax({ 
      type: "POST", 
      url: "ajax.php", 
      data: {
        id: id,
        get_date: 1
      },    
      success: function(html) { 
        $("#date").append(html); 
      }  
    }); 
  });

  $('#date').change(function() { 
    var id = $(this).val();

    $.ajax ({ 
      type: "POST", 
      url: "ajax.php", 
      data: {
        id: id,
        get_time: 1
      },    
      success: function(html) {
        $("#time").append(html); 
      }
    }); 
  });  
});
</script>

您还应该更正PHP以避免SQL注入。尝试使用mysqliPDO