С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
2 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 66

Передача данных из ajax запроса к бд в input

01.05.2015, 12:24. Показов 2439. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Есть select со списком кафедр. Нужно, чтобы при выборе кафедры в один input из базы данных подгружался логин кафедры, а во второй - её e-mail.
Пыталась сама разобраться в ajax запросах, но получилось не очень. Вот, что я состряпала.

HTML5
1
2
3
4
5
6
7
<select id = "select_dep_edit" name="select_dep_to_edit"  size="1">
        <option disabled selected> Оберіть кафедру </option>
        <?SelectedDataForEditProfile($link, 'edit');?></select>
<p>Логін:</p>
<p><input  type="search" name=edit_login value=""></p>
<p>E-mail:</p>
<p><input  type="search" name=edit_login value=""></p>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$(document).ready(function(){
    $("select[name='select_dep_to_edit']").onchange(function (){
        $.ajax({
            url : 'insert.php', //Файл в который отсылаем данные
            dataType : 'text', //  Тип данных 
            data : {name_dep : $("select.select_dep_to_edit option:selected").val()}, // Переменная name
            type : POST, // Как передаем POST or GET
            success : function (data){ // Функция при успешном выполнении
                $("input[name='edit_login']").val(data.login);
                $("input[name='edit_email']").val(data.email);
            }
        });
    });
});
абсолютно точно уверена, что в success бред сивой кобылы, это были просто мои догадки, исход из синтаксиса, который я не совсем понимаю.

insert.php
PHP
1
2
3
4
5
6
7
8
9
10
11
<?
$query = "SELECT id_dep FROM Type_of_revenues WHERE name_dep = $_POST[name_dep]";
$result = mysqli_query($link, $query);
$row = mysqli_fetch_array($result);
$id = $row['id_dep'];
$query2 = "SELECT login, email FROM Users WHERE id_dep = $id";
$result = mysqli_query($link, $query);
$row = mysqli_fetch_array($result);
$login = $row['login'];
$email = $row['email'];
?>
Естественно, код не работает. Помогите, пожалуйста разобраться.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.05.2015, 12:24
Ответы с готовыми решениями:

После вставки ответа ajax в input запроса, ответ ajax не изменяется
Здравствуйте! В общем так, есть поле input, есть таблица с полем count. Задача: изменить содержимое поле count по средством ajax, но при...

Передача массива из input PHP + AJAX
Приветствую! Передаю массив из формы через ajax &lt;script type=&quot;text/javascript&quot;&gt; function saveopt() { var id =...

Передача ajax запроса на сервер
Доброе время суток коллеги, подскажите пожалуйста что я не правильно делаю при передаче ajax запроса. Имеется форма регистрации, на...

4
2 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 66
02.05.2015, 22:02  [ТС]
Вопрос всё ещё не решён. Помогите, пожалуйста, очень нужно.
0
Кандёхаем веселее!
 Аватар для MLPMan
296 / 330 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
03.05.2015, 00:43
А вызов sucess хотя бы происходит? И там в PHP коде нету ни одного echo, так наверняка отправится пустой документ. Серверные переменные с клиента прочитать нельзя.

Добавлено через 11 минут
Насчёт PHP не уверен, не писал на нём.
0
2 / 2 / 1
Регистрация: 13.05.2013
Сообщений: 66
03.05.2015, 16:25  [ТС]
Цитата Сообщение от MLPMan Посмотреть сообщение
А вызов sucess хотя бы происходит? И там в PHP коде нету ни одного echo, так наверняка отправится пустой документ. Серверные переменные с клиента прочитать нельзя.
Я поставила echo, чтобы передавало логин, создала тег р, чтобы увидеть передасться что-то или нет.
HTML5
1
<p id="p1"></p>
JavaScript
1
2
3
success : function (data){ 
$("#p1").text(data);        
}
Но ничего не вывело.
Если из insert.php через echo приходят данные, то как их вывести на странице? Или может .onchange() не срабатывает?

Добавлено через 1 час 39 минут
Тема закрыта, я уже нашла проблему. Всё дело было в .onchange() (а надо было просто change()) и POST взять в одинарные кавычки.
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
03.05.2015, 18:00
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$name_dep = mysqli_real_escape_string($link, trim($_POST[name_dep]));
 
$query = "SELECT t.id_dep, 
                 u.login,
                 u.email
          FROM Type_of_revenues AS t
          LEFT JOIN Users AS u
          ON t.id_dep=u.id_dep
          WHERE t.name_dep=$name_dep";
$res = mysqli_query($link, $query);
$row = mysqli_fetch_assoc($res);
 
header("Content-type: application/json; charset=utf-8");
echo json_encode($row);
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$(document).ready(function(){
    $("select[name='select_dep_to_edit']").onchange(function (){
        var dep = $(this).val();
        $.ajax({
            url : 'insert.php', //Файл в который отсылаем данные
            dataType : 'json', //  Тип данных 
            data : {name_dep : dep}, // Переменная name
            type : POST, // Как передаем POST or GET
            success : function (data){ // Функция при успешном выполнении
                $("input[name='edit_login']").val(data.login);
                $("input[name='edit_email']").val(data.email);
            }
        });
    });
});
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.05.2015, 18:00
Помогаю со студенческими работами здесь

Вызов ajax запроса после обработки другого ajax запроса
Добрый день. По нажатию на кнопку происходит ajax запрос. Сервер возвращает true или false. Если результат true, то должен выполняться еще...

Передача данных в input
Здравствуйте! Подскажите как передать данные в input или чем его можно заменить, у меня вот такой вот input &lt;input...

Передача данных в БД (ajax)
вот такой код сделал index.php &lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;...

Ajax передача данных
Доброго времени суток. Есть два домена третьего уровня. Первый test, второй test1. На test1 реализован вход и ajax запрос: ...

Передача данных из тэга А в ajax
Привет всем! Нужна помощь в ajax, я в этом новичёк Мне как то нужно передать значения из ссылки в ajax. Вот ссылка: &lt;a...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru