2016-02-28 36 views
1

我想從數據庫中使用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 ""; 
    }  
} 

?> 
+1

無處可見''但沒有向我們顯示你在做什麼'