2016-02-28 54 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

无处可见''但没有向我们显示你在做什么'