php,mysql动态下拉使用jquery

php, mysql dynamicaly dropdown using jquery

本文关键字:jquery mysql 动态 php      更新时间:2023-09-26

我正在尝试为我的网站创建一个动态下拉菜单,以添加地址,如州、城市、地区和邮政编码。当我在实时浏览器中尝试逐个预览时,我使用的代码是有效的,但当我尝试使用java脚本时它不起作用,它不会在下拉菜单中显示数据。你能告诉我在哪里出错吗

它是index.php

<head>
</head>
<script src="scripts/jquery.js" type="text/javascript"></script>
<script src="scripts/scripts.js" type="text/javascript"></script>
<body>
<h1>address</h1>
<hr/>
<label>please select state</label>
<select id="slctstate"></select>
<br />
<br />
<label>please select city</label>
<select id="slctcity"></select>
</body>
</head>

它是script.js

$(document).ready(function() {
$.getJSON("get_stat.php", success = function(data){
    var options = "";
    for(var i = 0; i < data.lenght; i++)
        {
        options += "<option value='" + data[i].toLowerCase() + "'>" + data[i] +      "</option>";
        }
        $("#sltstate").append(options);
});
$("#slctstate").change(function(){
    $.getJSON("get_city.php?state=" +$(this).value(), success = function(data){
    var options = "";
    for(var i = 0; i < data.lenght; i++)
        {
        options += "<option value='" + data[i].toLowerCase() + "'>" + data[i] + "</option>";
        }
        $("#slctcity").append(options);
    });
});

});

它是get_state.php

<?php 
require "Connections/dbopen.php";
$query = "SELECT state_name FROM states";
$data = mysqli_query($conn, $query);
$states = array();
while ($row = mysqli_fetch_array($data))
{
array_push($states, $row["state_name"]);    
}
echo json_encode($states);
require "Connections/dbclose.php";

?>

她的是get_city.php

<?php 
require "Connections/dbopen.php";
if(isset($_GET["$state"]));
{
$state = $_GET["state"];
$query = "SELECT city_name FROM city
INNER JOIN states ON
city.state_id=states.state_id
WHERE state_name LIKE '{$state}'"; 
$data = mysqli_query($conn, $query);
$city = array();
while ($row = mysqli_fetch_array($data))
{
array_push($city, $row["city_name"]);   
}
echo json_encode($city);
require "Connections/dbclose.php";
}

?>

但在最后一步,我在下拉列表中没有得到任何值,请任何人帮助我,谢谢

您可能需要进行以下更改:

  • 将长度更改为长度
  • 更改成功=从功能(数据)更改为功能(数据
  • 将isset($_GET["$state"])更改为isset($SGET["state"])
  • 参考http://php.net/manual/en/pdostatement.fetch.php用于以更简单的方式获取数据(如果前3个更改不起作用,则为可选)