我想從數據庫中使用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
你發佈了'