#php #html
#php #HTML
Вопрос:
Я настраиваю веб-обзор сотрудников и хочу обновлять / удалять сотрудников через веб-сайт.
Я извлекаю свои данные из своей базы данных и помещаю их в таблицу. Я хочу ОПУБЛИКОВАТЬ идентификатор HTML-элемента, чтобы получить контекст.
while ($row = mysqli_fetch_array($query)) {
echo
"
<tr>
<td>{$row['Vorname']}</td>
<td>{$row['Nachname']}</td>
<td>{$row['farbe']}</td>
<td>{$row['Name']}</td>
<form action='Ma_bear.php' method='post'>
<td>
<input type='submit' name='test' value='Bearbeiten' id={$row['Mitarbeiterid']} />
<input type='submit' name='test2' value='Löschen' id={$row['Mitarbeiterid']} />
</td>
</tr>n
</form>";
}
И другой конец:
<?php echo $_POST["test"]; ?>
С помощью этого кода выводится: «Bearbeiten», но я хочу, чтобы это был идентификатор элемента.
Есть ли способ сделать это в php? Или есть лучший способ сделать это?
Комментарии:
1. если вы ищете лучший способ сделать это, я предлагаю вам заглянуть в любой PHP ORM. Я рекомендую обезжиренный фреймворк, потому что он очень удобен для начинающих. вы должны иметь возможность очень быстро кодировать все приложение с помощью fat-free framework.
2. Используйте a
button
вместоinput type=submit
— это позволяет указать значение отправки, отличное от содержимого кнопки, которое оно показывает. developer.mozilla.org/en-US/docs/Web/HTML/Element/button3. И это вложение
form
элемента в atr
на данный момент недопустимо. Форма должна либо обойти всю таблицу (в этом случае принятый в настоящее время ответ не будет работать), либо она должна содержаться в одной ячейке таблицы.
Ответ №1:
Это выводит Bearbeiten
, потому что это значение этого ввода.
id
Атрибут используется для целей интерфейса и не будет автоматически отправляться на серверную часть
Поскольку обе кнопки отправки должны публиковать одно и то же значение, вы можете использовать 3-й ввод, скрытый, для передачи этих данных.
В примере :
<form action='Ma_bear.php' method='post'>
<!--
| | |
V V V -->
<input type='hidden' name='id' value={$row['Mitarbeiterid']} />
<input type='submit' name='test' value='Bearbeiten' />
<input type='submit' name='test2' value='Löschen' />
</form>
В приведенном выше примере значение name
входных данных равно id
. Это, конечно, произвольное имя, вы можете назвать его так, как хотите.
И получить его с помощью $_POST['id']
Ответ №2:
Вы могли бы просто написать:
<input type='hidden' name='Mitarbeiterid' value='{$row['Mitarbeiterid']'}/>
Таким образом, каждый раз, когда вы отправляете форму, будет отправляться значение Mitarbeiterid.
Ответ №3:
Используйте не кнопки ввода, а кнопки кнопок
<button name="edit" value="123">Edit</button>
<button name="delete" value="123">Delete</button>
Это либо отправит edit:123
, либо delete:123
как значения POST