这个问题在这里已有答案:
我在while循环中有一些表行,行是我数据库中的所有数据,每行都有一个提交按钮。我想将特定数据发布到另一个页面,例如,如果我按下submit_3然后我想将第3行的所有数据发布到otherpage.php,但是我尝试它的方式,它总是使用最后一行。
例如,我有25行,然后我提交按钮3,它将发布第25行的所有信息。
print '<form method="POST" action="edit.php" name="action">';
//print '<input type="hidden" value="'.$imId.'" name="imId">';
print '<div class="tbl-content">';
print '<table cellpadding="0" cellspacing="0" border="0">';
print '<tbody>';
$querySelect = "select hersteller, name, kaufDatum, category, ablaufDatum, imID, details from inventoryManager ";
$querySelect .= $orderBy;
error_log( "SQL2:" . $querySelect . "<br>", 3, "C:/Control/log/debug/dp.html" );
$resultSelect = db_query( [ $querySelect ] );
while ( ( $row = mysql_fetch_array( $resultSelect ) ) ) {
$manufacturer = $row[ hersteller ];
$name = $row[ name ];
$buyDate = $row[ kaufDatum ];
$selectCategory = $row[ category ];
$expireDate = $row[ ablaufDatum ];
$imId = $row[ imID ];
$details = $row[ details ];
print '<tr>';
print "<td>$manufacturer</td>";
print "<td>$name</td>";
print "<td>$buyDate</td>";
print "<td>$selectCategory</td>";
print "<td>$expireDate</td>";
//error_log("imIdCheck#1:".$imId."<br>",3,"C:/Control/log/debug/dp.html");
print '<td><input type="submit" name="edit_' . $imId . '" value="Bearbeiten" class="button2 button3"></td>';
print '</tr>';
}
print '</tbody>';
print '</table>';
print '</div>';
print '</form>';
在另一页上,我使用$ imId选择所有数据,但每次按下提交按钮,即使它的submit_1,我也会得到最后一步。我需要包括它提交所选行的数据吗?
编辑:执行建议后有一些HTML代码有一个按钮:
<form method="POST" action="edit.php" name="action">
<div class="tbl-content">
<table cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td>test</td>
<td>TestName</td>
<td>2019-03-23</td>
<td></td>
<td>2019-03-22</td>
<input type="hidden" value="2" name="imId">
<td>
<button type="submit" name="id" value="2" class="button2 button3">Bearbeiten</button>
</td>
</tr>
<tr>
<td>TestHersteller</td>
<td>TestName</td>
<td>2019-03-31</td>
<td></td>
<td>2019-03-31</td>
<input type="hidden" value="3" name="imId">
<td>
<button type="submit" name="id" value="3" class="button2 button3">Bearbeiten</button>
如果您有一个表单,那么如果您删除隐藏字段,我建议使用命名提交按钮发送ID将会起作用。确保你按照你在php中读取和写入的方式拼写imID,然后点击每个按钮就会将点击按钮的值中的ID发送到服务器
<button type="submit" name="imID" value="'.$imId.'" class="button2 button3">Bearbeiten/button>
像这样:
<form method="POST" action="edit.php" name="action">
<div class="tbl-content">
<table cellpadding="0" cellspacing="0" border="0">
<tbody>
<tr>
<td>test</td>
<td>TestName</td>
<td>2019-03-23</td>
<td></td>
<td>2019-03-22</td>
<td>
<button type="submit" name="imID" value="2" class="button2 button3">Bearbeiten</button></td>
</tr>
<tr>
<td>TestHersteller</td>
<td>TestName</td>
<td>2019-03-31</td>
<td></td>
<td>2019-03-31</td>
<td>
<button type="submit" name="imID" value="3" class="button2 button3">Bearbeiten</button>
....