Я работаю над выводом данных из двух разных источников в таблицу HTML. Один источник - mysql_fetch_array
, другой - массив $_POST
. Есть три <td>
таблицы из mysql и одна из $_POST
, выводимые через цикл while. Чтобы связать массивы на выходной странице, я планировал сохранить данные $_POST
в таблице через идентификатор строки, а затем запросить всю строку дальше вниз по странице.
Проблема, с которой я столкнулся, заключается в том, что я не могу правильно отобразить значения массива $_POST
в строке. Последнее значение в массиве $_POST
- это все, что хранится во всех выбранных полях.
Массивы входной страницы захватываются с id [ ]
и unit_ass[ ]
и передаются на выходную страницу.
Код страницы вывода:
require_once ("../includes/db_connect.inc");
$pid = array_filter($_POST['id']);
$gid = implode(",", $pid);
$sua = array_filter($_POST['unit_ass']);
foreach($sua as $value) echo $value . "<br>"; // this outputs correct values in the correct order.
foreach($sua as $value) mysql_query("UPDATE $tbl_name SET unit_ass='$value' WHERE id IN ( $gid )");
Простое удаление пустых ключей с помощью array_filter()
... Когда я отображаю значения в первом выражении foreach, они отображаются правильно и в правильном порядке.
Однако только последнее значение из массива $sua
обновляет строки таблицы, как определено $ gid. Функция foreach не выполняет итерацию значений массива и не выполняет ОБНОВЛЕНИЕ, как следует. Данные через id[ ]
корректно отображаются далее вниз по странице через mysql_fetch-array
в цикле while.
Я смотрю на это уже несколько часов и не могу найти решение. Любая помощь приветствуется.