如何从下拉列表中插入数值到mysql查询以检索数据库中的数据
问题描述:
我必须从下拉列表中选择城市并根据值我必须进一步检索属于该城市的人使用jquery 我的代码是如何从下拉列表中插入数值到mysql查询以检索数据库中的数据
<select class="form-control" id="personCity">
<option class="form-control" value="">Person country</option>
<option class="form-control" value="usa">usa</option>
<option class="form-control" value="aus">Australia/option>
</select>
我有使用jquery
$('#personCity').change(function(e) {
var personCity=$('#personCity').val();
$('#personcityRetrive').text(personCity);
});
,并获得价值的数据库我有以下数据
country person
usa abc
aus xyz
usa 123
aus ABC
MySQL的代码是
<?php
$sql=mysql_query("SELECT * FROM outlets WHERE country='"
?><span id="personcityRetrive"></span>
<?php "'");?>
答
鉴于这种HTML:
<select class="form-control" id="personCity">
<option class="form-control" value="">Person country</option>
<option class="form-control" value="usa">usa</option>
<option class="form-control" value="aus">Australia/option>
</select>
您需要执行AJAX时的变化情况。 jQuery的:
$('#personCity').change(function(e) {
var personCity=$('#personCity').val();
$.get('lookupCity.php', { "city": personCity }, function(result){
$("#personcityRetrive").html(result);
});
});
你的PHP需要独立(lookupCity.php
),连接到SQL Server,和回声一个SQL查询的结果。它不应该使用MySQL函数,这些已被弃用。你也想避免SQL注入。试试这个:
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
if ($stmt = mysqli_prepare($link, "SELECT person FROM outlets WHERE country=? LIMIT 1");
mysqli_stmt_bind_param($stmt, "s", $_GET['city']);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $person);
mysqli_stmt_fetch($stmt);
printf("%s\n", $person);
mysqli_stmt_close($stmt);
}
mysqli_close($link);
?>
PHP在服务器上运行之前,HTML和JavaScript被发送到浏览器。 Javascript在浏览器上运行。做你想做的事情的唯一方法是使用Ajax调用返回到服务器以获取数据。然后将响应发送回浏览器并在div中插入响应。查看关于使用PHP做Ajax的教程。亲自尝试一下,如果你有问题,请在另一个问题的帮助下发布你的代码。 http://iviewsource.com/codingtutorials/learning-how-to-use-jquery-ajax-with-php-video-tutorial/ –