为了账号安全,请及时绑定邮箱和手机立即绑定

使用php和javascript处理动态下拉框

使用php和javascript处理动态下拉框

繁华开满天机 2021-04-12 16:13:50
我正在尝试创建一个动态下拉框,一旦做出选择,该下拉框将访问MySQL。第二个框取决于第一个框的选择。我对javascript不太熟悉,但是遇到了一些代码,这些代码似乎是我想要的,但是没有执行,我也不知道为什么。代码的第一部分是javascript的选项字段,第二部分是dynamicdd.php。任何帮助将是巨大的。谢谢你。<tr>    <td>Country:  </td>    <td>        <select name="Countrybox" onchange="getlocation(this.value)">            <option value="none"> Please Select </option>            <?php              $qry2 = "Select Country from Locations";              $populate = mysqli_query($conn, $qry2);              while ($run = mysqli_fetch_assoc($populate)){                echo "<option value='".$run['Country']."'>".$run['Country']."</option>";              }            ?>        </select>    </td></tr><tr>    <td>Location:</td>    <td>        <select name="Locationbox" id="locationbycountry">            <option> Select Above First </option>        </select>    </td></tr><script type="text/javascript">function getlocation(locationarea) {    var xhttp = new XMLHttpRequest();    var url = "dynamicdd.php";    var data = new FormData();    data.append('SearchValue', locationarea);    xhttp.open('POST', url, true);    xhttp.send(data);    xhttp.onreadystatechange = function() {        if (xhttp.readyState == 4 && xhttp.status == 200) {            document.getElementById("locationbycountry").innerHTML = xhttp.responseText;        }    }}</script>dynamicdd.php<?phpif($_POST['SearchValue']){  $host = "localhost";  $username = "root";  $password = "";  $db = "Work";  $conn = mysqli_connect($host, $username ,$password, $db);  $choice = $_POST['SearchValue'];  $sql = "SELECT * FROM locations WHERE Country = '$choice'";  $result = mysqli_query($conn, $sql) or die(mysqli_error($conn));  while ($row = mysqli_fetch_assoc($result)){    echo "<option value='".$row['Location']."'>".$row['Location']."</option>";  }} ?>
查看完整描述

2 回答

?
HUH函数

TA贡献1836条经验 获得超4个赞

尝试与此更改javascript部分(它将引发消息框,并且您将看到脚本在结束前失败):


    <script type="text/javascript">

            function getlocation(locationarea) {

                var xhttp = new XMLHttpRequest();

                var url = "dynamicdd.php";

                var data = new FormData();

                data.append('SearchValue', locationarea);

                xhttp.open('POST', url, true);

                xhttp.send(data);

                alert("*step 1*");

                xhttp.onreadystatechange = function() {

                        alert("*step 2*");

                        if (xhttp.readyState == 4 && xhttp.status == 200) {

                        alert("*step 3*");

                        alert(xhttp.responseText);

document.getElementById("locationbycountry").innerHTML = xhttp.responseText;

                        }

                    }

                alert("*step 4*");

                }

    </script>






<?php

    if($_POST['SearchValue']){

      $host = "localhost";

      $username = "root";

      $password = "";

      $db = "";


      $conn = mysqli_connect($host, $username ,$password, $db);


      $choice = $_POST['SearchValue'];


      $sql = "SELECT * FROM Locations WHERE country = '$choice'";


      echo $sql;

    }

    else {

       echo "value is not posted";

    }

?>


查看完整回答
反对 回复 2021-04-29
  • 2 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信