gpt4 book ai didi

php - 如何根据在 PHP MySQL 和 JQuery 中输入的州名称自动完成城市列表

转载 作者:行者123 更新时间:2023-11-28 23:36:02 24 4
gpt4 key购买 nike

我能够使用下面提到的脚本独立地自动填充(完成)州和城市文本框。

但我想做以下事情。

  • 首先,我在州文本框中输入州名称,然后从建议的州列表中选择任何州。

  • 我在城市文本框中输入城市名称后,但当时建议的城市列表应根据所选状态进行过滤。

  • 例如:首先我在州文本框中输入/选择“纽约”,之后当我在城市文本框中输入城市名称时,我应该只获得“纽约”州的建议城市列表。

请让我知道我需要在脚本中做哪些更改才能获得所需的结果。

注意:statepkid 字段在 tr_cities 表中可用。

索引.php

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
$(function() {
$( "#statename" ).autocomplete({
source: 'search.php'
});
});
$(function() {
$( "#cityname" ).autocomplete({
source: 'c_search.php'
});
});
</script>

<div class="ui-widget">
<label for="statename">State: </label>
<input id="statename">

<label for="cityname">City: </label>
<input id="cityname">
</div>

search.php(针对各州)

$dbHost = 'localhost';
$dbUsername = 'root';
$dbPassword = 'password';
$dbName = '10000dbname';
$db = new mysqli($dbHost,$dbUsername,$dbPassword,$dbName);
$searchTerm = $_GET['term'];
$query = $db->query("SELECT * FROM tr_states WHERE statename LIKE '%".$searchTerm."%' ORDER BY statename ASC");
while ($row = $query->fetch_assoc()) {
$data[] = $row['statename'];
}
echo json_encode($data);

c_search.php(针对城市)

$dbHost = 'localhost';
$dbUsername = 'root';
$dbPassword = 'password';
$dbName = '10000dbname';
$db = new mysqli($dbHost,$dbUsername,$dbPassword,$dbName);
$searchTerm = $_GET['term'];
$query = $db->query("SELECT * FROM tr_cities WHERE city LIKE '%".$searchTerm."%' ORDER BY city ASC");
while ($row = $query->fetch_assoc()) {
$data[] = $row['city'];
}
echo json_encode($data);

最佳答案

在你的 JS 中

source: 'c_search.php?state=' + $('#statename').val()

在 php 文件中

我假设您的城市表中的列名称是 state_id

if(isset($_GET['state'])){
$stateid = $_GET['state'];
$query = $db->query("SELECT * FROM tr_cities WHERE city LIKE '%".$searchTerm."%' AND state_id = ".$stateid." ORDER BY city ASC");
}else{
$query = $db->query("SELECT * FROM tr_cities WHERE city LIKE '%".$searchTerm."%' ORDER BY city ASC");
}

关于php - 如何根据在 PHP MySQL 和 JQuery 中输入的州名称自动完成城市列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35717357/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com