Передача переменной 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, время: 01:36. |