我想从数据库中使用ajax函数获取数据。但是代码的某些部分不起作用。在该函数的第二部分中,$ car_id,witch是下拉列表中选定的值被遗忘的部分。第二个函数已经忘记了选择的值
首先。我有一个下拉菜单,用户可以选择一辆车:
<select name="car_id" id="car_id" onChange="getCar(this.value)">
<option value="0">Select</option>
<option value="1">Volvo XC90</option>
<option value="2">Saab 95</option>
<option value="3">Mercedes SLK</option>
<option value="4">Audi TT</option>
</select>
选择(onChange事件)后,我的脚本运行的以下功能:
<script>
function getCar(selectedItem) {
jQuery.ajax({
url: 'get1.php',
method: 'POST',
data: {'car_id' : jQuery('#car_id').val()},
success: function(response){
jQuery('#car_id').val(response);
jQuery('#car_brand').val(response);
getCar2()
},
error: function (request, status, error) {
alert(request.responseText);
},
});
}
</script>
此函数运行下面的SQL查询: SELECT car_brand FROM cars WHERE car_id = $car_id
该函数从数据库获取car_brand
并将其发布到#car_brand
文本字段中。这部分代码工作正常。但正如你所看到的,函数调用第二功能:
<script>
function getCar2(selectedItem) {
jQuery.ajax({
url: 'get2.php',
method: 'POST',
data: {'car_id' : jQuery('#car_id').val()},
success: function(response){
jQuery('#car_id').val(response);
jQuery('#car_model').val(response);
},
error: function (request, status, error) {
alert(request.responseText);
},
});
}
</script>
这一次函数试图获得car_model
。该功能需要将其发布到#car_model
文本字段中。但是这不起作用。当我看着萤火虫控制台时,我发现第二个功能getCar2
已经忘记了$ car_id。
当我选择值3的第一个函数运行该SQL语句: SELECT car_brand FROM cars WHERE car_id = 3
和第二功能: SELECT car_model FROM cars WHERE car_id =
我怎样才能解决这个问题?
更新1:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "database";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname) ;
// Check connection
if ($conn->connect_error) {
die('Connection failed: ' . $conn->connect_error) ;
}else {
$car_id = isset($_POST['car_id'])?$_POST['car_id']:'';
$car_brand = isset($_POST['car_brand'])?$_POST['car_brand']:'';
$query = 'SELECT * FROM cars WHERE car_id="' . mysqli_real_escape_string($conn, $car_id) . '"';
$res = mysqli_query($conn, $query) ;
if (mysqli_num_rows($res) > 0) {
$result = mysqli_fetch_assoc($res) ;
echo $result['car_brand'];
}else{
$result = mysqli_fetch_assoc($res) ;
echo "";
}
}
?>
无处可见'
我没有问题,这个部分的代码 – John
你发布了'