Здесь есть пара вещей, которые вам нужно изменить.
Во-первых, и самое главное, в вашем скрипте docsel.php есть дыра в безопасности.Вы никогда не должны когда-либо размещать неантифицированный ввод, например, непосредственно от пользователя, прямо в запрос SQL, потому что он допускает внедрение SQL.По сути, SQL-инъекция позволяет злоумышленнику завершать запрос программистов и отправлять свои собственные.Чтобы обойти это, вы должны очистить любой пользовательский ввод - так что в этом случае перед вводом пользовательского ввода через функцию pg_escape_literal (), прежде чем вводить его в свой запрос.
Во-вторых, ваш сценарий docsel.php должен выдавать какой-товывода для запроса AJAX.Вы можете сделать это с помощью echo, и я бы порекомендовал вам кодировать его в JSON.Пример кода:
$return_vals = array("doctype" => $doctyp, "doctitle" => $doctitre, "docauthor" => $docauteur, "doccontent" => $doccontent);
echo json_encode(array("document" => $return_vals));
Наконец, в вашем скрипте jQuery вы фактически ничего не делаете с данными, возвращаемыми из вашего пост-запроса AJAX.Внутри функции обратного вызова вам необходимо добавить возвращенные поля в выпадающий список.Пример кода:
<script>
$(document).ready(function(){
$("select#listedoc").change(function () {
var id = $("select#listedoc option:selected").attr('value');
$.post("docsel.php", {id:id},function(data) {
//FILL THE DROPDOWN HERE
$(data).each(function(elem) {
$("#dropdown-id").append("<option value='" + elem.doctitle + "'>" + elem.doctitle + "</option>");
});
}, "json");
});
</script>
Безмолвный и педантичный момент, но когда вы делаете запросы на контент, вам следует использовать GET вместо POST.