[英]Many Submit buttons for the same html form
希望你一切都好,
我有以下形式:
<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,所以我將數據發布到同一頁面,在表單中創建了一個包含ID和名稱的表格,我遍歷了所選數據,表格中的每一行都包含id和如您所見,人名將輸入名和ID定義為數組,例如。 name []和id [],並且我在表單末尾有一個提交按鈕,將發布數組id []和name []。
現在我想要的是在每一行中提交一個提交輸入! 因此,當我單擊“提交”按鈕時,它將僅在此行中張貼人員的ID和姓名!
這可能嗎 ?!
問候。
您已經在名稱中使用關聯數組,例如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標記按原樣使用,請根據需要進行更正。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.