Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 15.04.2019
Сообщений: 215

Как вытащить в javascript из php переменную?

15.02.2020, 12:22. Показов 1793. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть запрос к базе данных mysql:

PHP
1
2
$query = "SELECT plans.room, disciplin.disciplin_code, plans.plan, disciplin.disciplin_name FROM responsible, plans, disciplin WHERE login = '$login' AND plans.room = responsible.room AND disciplin.disciplin_code = responsible.disciplin_code";
$result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
Есть форма с SELECT, куда нужно вывести данные из этого запроса:

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<form action="#" method="get" align="center">
<select name="plan_disciplin" id="plan_disciplin" size="17" multiple>
<option value="0" style="text-align: center;">Дисциплина</option>
 
<?php
 
$query ="SELECT responsible_mto.room, plan FROM user, responsible_mto, plans WHERE user.login = '$login' AND user.id = responsible_mto.id_login AND plans.room = responsible_mto.room ORDER BY plan"; // Определяем планы
$result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
 
$rows = mysqli_num_rows($result); // количество полученных строк
 
for ($k = 0 ; $k < $rows ; ++$k) {
 
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
echo '<option value="';
echo htmlspecialchars(stripslashes($row['room']));
echo '"';
echo '>';
echo 'Проба';
echo '</option>';
}
 
?>
 
</select>
</form>
И есть javascript, который по двойному щелчку по элементу SELECT, отправляет на нужную страницу две переменных - room и disciplin_code:

PHP/HTML
1
2
3
4
5
6
7
<script>
        $('#plan_disciplin').dblclick(function(){ // Событие двойной щелчок по элементу #plan_disciplin
        var room = $("#plan_disciplin").val(); // Получаем переменную из выбранного в select #plan_disciplin
        var url = 'index2.php?room=' + room + '&disciplin_code=' + disciplin_code; // Получаем ссылку с параметрами room и disciplin_code
        $(location).attr('href',url); // Переход по этой ссылке
        });
    </script>
Вернее, должен отправлять две. Но я пока получил только переменную room из выбора в select. Как получить в javascript вторую переменную disciplin_code?

Добавлено через 4 минуты
В php она получается также как и room:

PHP
1
htmlspecialchars(stripslashes($row['disciplin_code']));
Добавлено через 3 минуты
И я в запросе ошибся, там вот так:

PHP
1
$query = "SELECT plans.room, disciplin.disciplin_code, plans.plan, disciplin.disciplin_name FROM responsible, plans, disciplin WHERE login = '$login' AND plans.room = responsible.room AND disciplin.disciplin_code = responsible.disciplin_code";
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.02.2020, 12:22
Ответы с готовыми решениями:

Как передать переменную Javascript в php?
Есть код ява с переменной display_width: &lt;script&gt; var display_width = screen.width; &lt;/script&gt; и нужно эту переменную передать в...

Вытащить переменную из цикла PHP в функцию JS, и через AJAX обратно в PHP
Здравствуйте! Моя задача сделать форму обратной связи, но не самую простую. Изначально на форме отображается список элементов, уже...

Можно переменную php присвоить javascript -переменной
Можно переменную php содержащую данные текстового типа присвоить javascript переменной типа как-то так $a='текст'; var b=&lt;?php...

6
Эксперт NIX
3303 / 932 / 200
Регистрация: 14.01.2013
Сообщений: 4,768
15.02.2020, 13:02
Цитата Сообщение от sergey-nv Посмотреть сообщение
В php она получается также как и room:
Почему же и в JS с обеими переменными не поступать аналогично?
0
2 / 2 / 0
Регистрация: 15.04.2019
Сообщений: 215
15.02.2020, 13:16  [ТС]
room берется из базы mysql и тут же прописывается в форму в <option>:

PHP
1
2
3
4
echo '<option value="';
echo htmlspecialchars(stripslashes($row['room']));
echo '"';
echo '>';
Потом он берется в javascript так:

JavaScript
1
var room = $("#plan_disciplin").val(); // то, что было выбрано в форме, #plan_disciplin - идентификатор формы
как мне сделать, чтобы при двойном щелчку по элементу формы брались и room и disciplin_code

Добавлено через 44 секунды
Kubuntovod, пример кода можете привести?
0
Эксперт NIX
3303 / 932 / 200
Регистрация: 14.01.2013
Сообщений: 4,768
15.02.2020, 13:24
Лучший ответ Сообщение было отмечено sergey-nv как решение

Решение

Если у каждого элемента "Option" своё значение "disciplin_code", то я бы сделал так. "Value" прописывал бы оба значения, через какой-нибудь разделитель. А в JS разбивал строку в массив по этому же разделителю.
JavaScript
1
var arr = строка.split(';');
arr[0] - первый элемент, arr[1] - второй.
1
2 / 2 / 0
Регистрация: 15.04.2019
Сообщений: 215
15.02.2020, 14:07  [ТС]
Почему-то не работает:

JavaScript
1
2
3
4
5
6
7
8
9
<script>
 $('#plan_disciplin').dblclick(function(){ // Событие двойной щелчок по элементу #plan_disciplin
var roomanddisciplin = $("#plan_disciplin").val(); // Получаем переменную из выбранного в select #room
var arr = roomanddisciplin.split(';');
 
var url = 'index2.php?room=' + arr[0] + '&disciplin_code=' + arr[1]; // Получаем ссылку с параметрами room и disciplin_code
$(location).attr('href',url); // Переход по этой ссылке
});
</script>
Причем roomanddisciplin (два значения value через точку с запятой) получает и методом get передает. В чем ошибка?

Добавлено через 12 минут
Вернее вот так работает:

JavaScript
1
2
3
4
5
6
7
<script>
        $('#plan_disciplin').dblclick(function(){ // Событие двойной щелчок по элементу #plan_disciplin
        var roomanddisciplin = $("#plan_disciplin").val();
        var url = 'index2.php?room=' + roomanddisciplin; // Получаем ссылку с параметрами room и disciplin_code
        $(location).attr('href',url); // Переход по этой ссылке
        });
 </script>
Переходит по ссылке, передает значения value через запятую методом get.

А как правильно дальше прописать, чтобы перевести value в массив и получить первый и второй элементы этого массива?
0
Эксперт NIX
3303 / 932 / 200
Регистрация: 14.01.2013
Сообщений: 4,768
15.02.2020, 14:14
JavaScript
1
var arr = roomanddisciplin.split(';');
arr[0] - тут будет первый элемент
arr[1] - тут второй
0
2 / 2 / 0
Регистрация: 15.04.2019
Сообщений: 215
15.02.2020, 14:53  [ТС]
Kubuntovod, не работает. А roomanddisciplin нужно в строку переводить?

Добавлено через 29 минут
Kubuntovod, да, перевел roomanddisciplin в строку, заработало. Спасибо большое.

Добавлено через 2 минуты
Если кому понадобится код:

JavaScript
1
2
3
4
5
6
7
8
9
<script>
$('#plan_disciplin').dblclick(function(){ // Событие двойной щелчок по элементу #plan_disciplin
var roomanddisciplin = $("#plan_disciplin").val();
let roomanddisciplin2 = `${roomanddisciplin}`; // Перевожу roomanddisciplin  в строку
var arr = roomanddisciplin2.split(';');
var url = 'titlePage.php?room=' + arr[0] + '&disciplin_code=' + arr[1]; // Получаем ссылку с параметрами room и disciplin_code
$(location).attr('href',url); // Переход по этой ссылке
});
</script>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.02.2020, 14:53
Помогаю со студенческими работами здесь

Передача данных из переменной javascript в переменную php
Доброго времени суток, господа, простите чайника, но вот такая ситуация : 1. Есть файл html со скриптом JS внутри тегов у которого есть...

Как вытащить данные из атрибута HTML в переменную php
data-month и data-year динамически меняют значения при клике по кнопкам как на скриншоте. Это с помощью js. Вопрос: как эти значения...

Как передать переменную из JavaScript в PHP
Очень прошу помочь, застрял и не могу двигаться дальше Проблема вот в чем: Разрабатываю корзину в интернет магазине: есть js-скрипт,...

Как передать переменную с php в javascript
Подскажите кто знает. Меня есть метод в контроллере написан на php. function actionView() { $get_id_station =...

Как записать переменную из JavaScript в PHP?
подскажите пожалуйста,как мне записать переменную из JavaScript в PHP вот js код function checkBalance() { ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru