Многие кнопки Отправить для одной и той же формы HTML

надеюсь, у тебя все хорошо,

у меня есть следующая форма:

<form class="hidden-print"  method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<table class="table table-bordered">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
</tr>
</thead>
<tr>
<?php
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * from persons";
$i=0;
foreach ($pdo->query($sql) as $row) {
echo '<tr>';
echo '<td>'. $row['id'] . '</td>';
echo'<input type="hidden" name="id[]" value="' . $row['id'] . '    ">';
echo '<td>'. $row['Name'] . '</td>';
echo'<input type="hidden" name="name[]" value="' . $row['Name'] . '    ">';
$i++;
}
Database::disconnect();
?>
</tr>
</table>
<input class="btn btn-primary" type="submit" value="Send" >
</form>

позвольте мне объяснить, что здесь происходит, моя форма PHP_SELF, поэтому я размещаю данные на той же странице, я создал таблицу внутри формы, которая содержит идентификаторы и имена, я перебираю выбранные данные, и каждая строка в таблице будет содержать идентификатор и имя человека, как вы видите, я определил имя входных данных и идентификатор как массивы, например. имя [] и идентификатор [], и у меня есть кнопка отправки в конце формы будет публиковать идентификаторы массивов [] и имя [].

Теперь то, что я хочу, это поместить входные данные в каждую строку! поэтому, когда я нажимаю кнопку отправки, он публикует только идентификатор и имя человека в этой строке!

Это возможно ?!

С уважением.

0

Решение

Вы уже используете ассоциативный массив в именах, например name[]

Используйте счетчики:

name[<?php echo $i;?>]

И добавить кнопки отправки с тем же

<input type="submit" name="submit[<?php echo $i;?>]"/>

В PHP зацикливание $_POST,

И проверьте индекс кнопки отправки, используя foreach петля.

Используйте тот же индекс для name, id, так далее.

Надеюсь, поможет.

Ответ дополнен кодом:

<form class="hidden-print"  method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<table class="table table-bordered">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
</tr>
</thead>
<tr>
<?php
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * from persons";
$i=0;
foreach ($pdo->query($sql) as $row) {
echo '<tr>';
echo '<td>'. $row['id'] . '</td>';
echo'<input type="hidden" name="id['.$row['id'].'" value="' . $row['id'] . '    ">';
echo '<td>'. $row['Name'] . '</td>';
echo'<input type="hidden" name="name['.$row['id'].'" value="' . $row['Name'] . '    ">';
?>
<td>
<input class="btn btn-primary" type="submit" value="Send" name="send<?php echo $rowp['id'];?>" >
</td>
</tr>
<?php
++$i;
}
Database::disconnect();
?>
</tr>
</table>
</form>
<?php
if (! empty($_POST['send'])) {
foreach ($_POST['send'] as $key => $posted) {
$id = isset($_POST['id'][$key]) ? $_POST['id'][$key] : '';
$name = isset($_POST['name'][$key]) ? $_POST['name'][$key] : '';
// Do your SQL here.
}
}
?>

Примечание. HTML-разметки используются как есть, исправьте их в соответствии с вашими потребностями.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]