根据选择标签的值选择数据库中的表

时间:2020-05-15 19:03:50

标签: javascript php drop-down-menu

我试图基于输入到第一个下拉列表(travelcategory-list)的值填充第二个下拉列表(travelprogram-list)。包含第二个下拉列表的数据的表因在第一个下拉列表中选择的值而异。部分代码如下。当前,第二个下拉列表永远不会填充。当通过在浏览器中尝试localhost / php?choice =“ any_value_at_all”进行故障排除时,我发现它总是在我的php代码中选择第一个“ if”选择(已验证,因为我看到列表回显了屏幕)。如果您还不能确定,我有将近0的编程经验,所以要保持谦虚。 ;-)谢谢!

JS:

<script>
  $("#travelcategory-list").change(function() {
    $("#travelprogram-list").load("connmysql.php?choice=" + $("#travelcategory-list").val());
   });
</script>

PHP:

<?php
  $dbHostname = "localhost";
  $dbUsername = "root";
  $dbPassword = "root";
  $dbName = "mhgtraveldb";

  $conn=mysqli_connect($dbHostname, $dbUsername, $dbPassword, $dbName);
  if(!$conn)
    {
      die('Connect Error');
    }

  $choice = $_GET['choice'];

  if ($choice="CreditCard")
    {
      $query = "SELECT card_travel_program_name FROM card_travel_program";
      $result = mysqli_query($conn, $query);

      while ($row=mysqli_fetch_array($result))
        {
          echo "<option>" . $row{'card_travel_program_name'} . "</option>";
        }
    }
  elseif ($choice="AirlineMiles")
    {
      $query="SELECT airline_loyalty_program_name FROM airline_loyalty_program";
      $result = mysqli_query($conn, $query);

      while ($row=mysqli_fetch_array($result))
        {
          echo "<option>" . $row{'airline_loyalty_program_name'} . "</option>";
        }
    }

ETC。

1 个答案:

答案 0 :(得分:0)

正如Taplar所指出的,您必须将IF语句更改为等号的两倍或三倍。

例如:

if ($choice == "CreditCard")