Всем здравствуйте (не уверена там ли создаю тему), пишу код и возникла проблема в том, что результат первого post-запроса стирается при отправке второго, из-за этого данные не выводятся после установки параметров с помощью выпадающих списков. Помогите, пожалуйста, решить данную проблему, код возможно не совсем рациональный, но как есть. В прикрепленном файле csv файл, из которого читаются данные. Заранее спасибо!
Задание: есть файл CSV, в котором хранятся адреса в формате «9 запятых». Необходимо создать скрипт на PHP, который читает адреса из файла и выводит их на экран. Также нужно реализовать возможность фильтрации адресов с помощью выпадающих списков. Данные в выпадающем списках должны подставляться динамически (например, если выбран населенный пункт, то в списке улиц должны подставиться только улицы выбранного нас. пункта).
PHP:
<?php echo ‘<form id=’addressForm‘ action=’‘ method=’POST‘>’; //выделяем НП и записываем в выпадающий список $rowCount = 0; } $rowCount = $rowCount + 1; } //вывод данных при 2 совпадающих параметрах { $optionSelect = $_POST[‘city’]; $optionSelect1 = $_POST[‘street’]; echo «<table>\n\n«; echo «<tr>»; foreach ($data as $i) { if ($optionSelect == $data[5] && $optionSelect1 == $data[6]) { } } echo «</tr> \n«; } echo «\n</table>»; } //сравнение option с данными файла и при совпадении запись 6 столбца в массив $optionSelect = $_POST[‘city’]; if ($optionSelect == $data[5]) { } } } echo «<label for=»city»>Выберите населенный пункт:</label> <select class=»city» id=’city’ name=»city» onchange=»checkField(this.value)»> <option selected>—Select—</option>»; // заполнение select массивом CITIES foreach($proglang as $item) { echo «<option value=»$item«>$item</option>»; } echo ‘</select>’; echo $_POST[‘city’].‘<br>’.$city; { echo ‘<label for=»street»>Выберите улицу:</label> <select id=»street» name=»street» onchange=»checkField(this.value)»> <option selected>—Select—</option>’; // заполнение select массивом STREETS foreach($proglang1 as $item1){ echo «<option value=»$item1«>$item1</option>»; } echo ‘</select>’; } echo $_POST[‘street’].‘<br>’; ?> </form><hr> <center> <h1>Данные файла</h1> <table> <?php echo «\n\n«; echo «<tr>»; foreach ($data as $i) { } echo «</tr> \n«; } echo «\n«; ?> </table> </center><hr> <script> function checkField(val) { document.getElementById(‘addressForm’).submit() } </script>
если выпадающие списки связанные — то делается это не так… а с помощью ajax запросов… если нет — отправляйте все данные вместе а не по отдельности
а можете, пожалуйста, подсказать как это сделать с помощью ajax
Похожие записи:
- как установить лимит на сообщения
- Как проверить значение option у формы
- Смена региона и COOKIE
- Декодирование пакетного сценария, который использует FFMPEG, EXIFTOOLS и EXIV2 для создания панорамных изображений VR180 и VR360, таких как Google Cardboard
- Лучший способ скопировать данные на новый лист и реорганизовать его (VBA)