У меня есть таблица начальной загрузки, в которой есть форма, где каждая строка содержит столбец, в котором значение можно изменить из раскрывающегося списка. При нажатии кнопки «Сохранить изменения» все строки будут обновлены с новыми значениями.
Форма / таблица работает так, как задумано в обычных случаях. Но если я использую функцию поиска в таблице начальной загрузки, чтобы отфильтровать несколько строк, а затем попытаюсь обновить строки значениями, это повлияет на неправильные строки.
Таким образом, из примера на изображении выше, если я отфильтрую, чтобы просмотреть только вторую строку, как на картинке ниже, то изменения или запрос «Обновление» будут выполнены для фактической первой строки, то есть для строки, которая имела «Боб» как «техник».
Я хотел бы знать, как решить эту проблему.
Вот соответствующий код:
foreach($tickets as $tickets)
{
$users = $app['database']->selectAll('users');
echo ("<input type='text' style = 'display:none' value = '$tickets->id' name = 'ticketid[]'>");
echo "<td class = '$technician->color'>$technician->name</td>";
echo "<td>";
echo '<select name = "user[]" id="user" class="form-control">';
echo "<option value = $technician->id>$technician->name</option>";
foreach($users as $users)
{
echo "<option value = $users->id>$users->name</option>";
}
echo "</select>";
echo "</td>";
echo "</tr>";
}
Для части базы данных, я вызываю функцию transferTask
который принимает сначала имя таблицы, затем два массива: один массив содержит обновленные имена пользователей из выпадающих полей, а другой — соответствующие идентификаторы.
transferTask('tickets', $user[$i], $ticketid[$i])
Вышеуказанная функция выполняется для каждой строки в таблице. Я думаю, что это проблема с массивом имен, передаваемым из формы в эту функцию, но я не уверен. Помощь приветствуется!
Задача ещё не решена.
Других решений пока нет …