I've a form like this and if the user selected any value from the dropdown then I want to fetch the details from the database based on that value. Suppose say if the user selected Name 2 from the dropdown then I should automatically fill the fields address & phone that are relevant to Name 2. Also I'm unable to get the value $_POST['name']. I've tried but no luck. Here is my code. Please suggest me if is there any other way to achieve it. Thank you.
HTML
<select id="name" name="name">
<option value="1">Name 1</option>
<option value="2">Name 2</option>
<option value="3">Name 3</option>
<option value="4">Name 4</option>
<option value="5">Name 5</option>
</select>
<input type="text" name="address" id="address" />
<input type="text" name="phone" id="phone" />
jQuery
$(document).ready(function () {
$('#name').change(function(){
var name = $(this).val();
var dataString = "name=" + name;
alert (dataString);
$.ajax ({
type: "POST",
url: "test.php",
data: dataString,
dataType: json,
success: function(data) {
$('#address').val(data.address);
$('#phone').val(data.phone);
}
});
});
});
PHP
<?php
ini_set('display_errors',1); // enable php error display for easy trouble shooting
error_reporting(E_ALL); // set error display to all
include "connect.php";
if (ISSET($_POST['name'])) {
$ref = $_POST['name'];
$query = $con->query("SELECT * FROM test WHERE id = '$ref' LIMIT 1");
$row = $query->fetch_assoc();
$address = $row['address'];
$phone = $row['phone'];
$json = array('address' => $address, 'phone' => $phone);
echo json_encode($json);
}
$con->close();
?>