Передача переменной JS в PHP или наоборот?
Хочу написать красиво код а не делать бесконечные:
else if (opt == 1) {}
else if (opt == 2) {}
else if (opt == 3) {}
и так далее...Сейчас мне приходится вручную подставлять в многомерный массив <?=$types[1]["max_sum"] ?> <?=$types[2]["max_sum"] ?> <?=$types[3]["max_sum"] ?>и так далее А я хочу один раз написать : <?=$types[opt]["max_sum"] ?> Чтобы при переключении <select> у меня менялись значения в многомерном массиве. Можно ли это сделать не плодя бесконечные else if а просто меняя значения в многомерном php массиве $types? Меняя первое значение в массиве по типу: <?=$types[opt]["max_sum"] ?> Я больше часа искал ответ но так и не нашел к сожалению( Вот мой кусок кода:
var opt = this.value;
var get = document.getElementById('psevdo');
if (opt >= 4) {
document.getElementById('whats').innerHTML = "Введите сумму от <?=$types[3]["min_sum"] ?> до <?=$types[3]["max_sum"] ?> руб.: ";
get.value = '<?php echo $types[3]["min_sum"]; ?>';
} else if (opt == 3) {
document.getElementById('whats').innerHTML = "Введите сумму от <?=$types[2]["min_sum"] ?> до <?=$types[2]["max_sum"] ?> руб.: ";
get.value = '<?php echo $types[2]["min_sum"]; ?>';
} else if (opt == 2) {
document.getElementById('whats').innerHTML = "Введите сумму от <?=$types[1]["min_sum"] ?> до <?=$types[1]["max_sum"] ?> руб.: ";
get.value = '<?php echo $types[1]["min_sum"]; ?>';
|
Кодируйте ваш массив $types в json (json_encode), json вставляйте в js-переменную, дальше работайте по-человечески только с js, без php-инъекций.
|
Nexus подскажите как мне перекодировать в json_encode если мой массив $type имеет вот такую структуру:
Array
(
[0] => Array
(
[0] => 1
[id] => 1
[1] => 0
[user_id] => 0
[2] =>
[user] =>
[3] => Хапуга
[name] => Хапуга
)
[1] => Array
(
[0] => 2
[id] => 2
[1] => 0
[user_id] => 0
[2] =>
[user] =>
[3] => Гаврила
[name] => Гаврила
)
)
Я пишу: $jso = json_encode($types);но это не работает я так понимаю из за многомерного массива |
Всё замечательно работает. Строку просто передайте в js любым доступным вам способом (хоть как глобальную переменную), а затем просто разкодируйте методом JSON.parse() пример
|
crystaltrumpet, вы обращаетесь к данным по числовым ключам?
Может стоить отказаться от mysqli_fetch_array в пользу mysqli_fetch_assoc? Цитата:
upd. у вас структуры данных в первом и третьем постах разнятся. |
Цитата:
var types=<?php echo json_encode($types); ?>; |
Тестил в браузере.
Проверил сейчас вариант var types=<?php echo json_encode($types); ?>; Работает. Снимаю шляпу) |
Цитата:
var types='<?php echo json_encode($types); ?>'; вот что пишет: Uncaught SyntaxError: Unexpected token ; var types=; |
Цитата:
|
а где амперсанды ?
& тут нет нигде В общем не могу понять почему у меня такие проблемы с этой штукой... |
| Часовой пояс GMT +3, время: 18:16. |