简体   繁体   English

Select 数据库中的表基于 select 标签的值

[英]Select table in db based on value of select tag

I'm trying to populate a second dropdown list (travelprogram-list) based on the value input to a first dropdown list (travelcategory-list).我试图根据输入到第一个下拉列表 (travelcategory-list) 的值来填充第二个下拉列表 (travelprogram-list)。 The table containing the data for the second dropdown is different depending on the value selected in the first.包含第二个下拉列表数据的表格因第一个下拉列表中选择的值而异。 Portions of code follow.部分代码如下。 Currently, the second dropdown never gets populated.目前,第二个下拉列表永远不会被填充。 When troubleshooting by trying localhost/php?choice="any_value_at_all" in browser, I discovered it is always choosing the first "if" selection in my php code (verified because I see the list echoed to the screen).当通过在浏览器中尝试 localhost/php?choice="any_value_at_all" 进行故障排除时,我发现它总是在我的 php 代码中选择第一个“if”选项(已验证,因为我看到列表回显到屏幕上)。 If you can't already tell, I have near 0 programming experience so be gentle.如果你还不知道,我的编程经验几乎为 0,所以请保持温和。 ;-) THANK YOU! ;-) 谢谢你!

JS:记者:

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

PHP: 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.等等。

As Taplar pointed out, you have to change your IF statements to double or tripple equal signs.正如 Taplar 指出的那样,您必须将 IF 语句更改为两倍或三倍等号。

Eg:例如:

if ($choice == "CreditCard")

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM