2013-10-09 44 views
0

我需要使用$ .ajax方法調用PHP文件。我必須將驅動程序ID傳遞給PHP文件,PHP文件然後檢索該ID,執行查詢以獲取驅動程序的名稱並將該名稱返回給窗體,以便我可以自動填充相應的文本框。這裏是AJAX方法:aJAX調用PHP文件

var id=$('#DriverID').val(); 
    $.ajax({ 
     url: 'drivername.php', 
     data: {driverid: id}, 
     type: 'POST', 
     success: function(data) { 
      $.('#DriverName').val(data); 
     } 
    }); 

這裏的PHP:

$driverid=$_POST['driverid']; 


$host="Host to database"; 
$user="user" 
$password="password"; 
$db="database"; 

$driver=""; 
$query="SELECT driver_name FROM drivers WHERE driver_id=$driverid"; 
$cn=mysqli_connect($host, $user, $password, $db); 
$result=mysqli_query($cn, $query); 
while($data=mysqli_fetch_array($result)) 
{ 
    $driver=$data['driver_name']; 
} 
echo $driver; 

如何配置PHP文件返回驅動程序的名稱,也就是AJAX方法的語法是否正確?

+1

所以,它的工作原理?不行?有什麼問題?問題是什麼?附: '。。('#DriverName')'不正確,在'while'循環中也不會使用'$ driver = ...'(這裏甚至不需要)。 –

+0

P.P.S. *不要*在SQL查詢中直接使用'$ _POST'變量。你正在使用MySQLi;使用[prepared statements](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)。 –

回答

0

看起來你的PHP腳本已經返回你正在用你的SQL設置的「driver's name」變量。如果您的返回值較大或較爲複雜(例如,多個值,一個數組/對象等),您可以使用JSON對其進行編碼並使用jQuery對JSON進行解碼。要與返回的數據更新CSS ID「的DriverName」,我覺得你只是無關緊要的「」:

success: function(data) { 
    $('#DriverName').val(data); 
} 

這個問題是非常相似:jQuery ajax - update div