2013-10-09 4 views
0

J'ai besoin d'utiliser la méthode $ .ajax pour appeler un fichier PHP. Je dois passer un ID de pilote au fichier PHP, qui récupère ensuite l'ID, exécute une requête pour obtenir le nom du pilote et renvoyer ce nom au formulaire afin que je puisse autopopuler la zone de texte appropriée. Voici la méthode ajax:appel aJAX au fichier PHP

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

Voici le 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; 

Comment configurer le fichier PHP pour retourner le nom du conducteur, et aussi, la syntaxe de la méthode ajax correcte?

+1

Alors, ça marche? Ne fonctionne pas? Quel est le problème? Quelle est la question? P.S. '$. ('# DriverName')' n'est pas correct, ni utilise '$ driver = ...' dans une boucle 'while' (qui n'est même pas nécessaire ici). –

+0

P.P.S. * N'utilisez PAS les variables '$ _POST' directement dans une requête SQL. Vous utilisez MySQLi; utilisez [déclarations préparées] (http://php.net/manual/fr/mysqli.quickstart.prepared-statements.php). –

Répondre

0

Il semble que votre script PHP renvoie déjà la variable "nom du pilote" que vous configurez avec votre SQL. Si votre valeur de retour était plus grande ou plus complexe (par exemple, plusieurs valeurs, un tableau/objet/etc), vous pourriez JSON l'encoder et utiliser jQuery pour le décoder. Pour mettre à jour CSS id « DriverName » avec les données de retour, je pense que vous avez juste un étranger « »:

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

Cette question est tout à fait similaire: jQuery ajax - update div