php - 将 while 循环内的特定计数器发布到另一个页面
问题描述
我在一个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>
....
推荐阅读
- java - 我们可以使用 powerbi rest 更改 powerbi 报告的内容吗
- android - IllegalAccessError:试图访问方法 com.google.common.io.Files.fileTreeTraverser()
- java - Eclipse - 即使java文件有编译错误也会自动生成类文件
- aem - 错误消息“zip 文件不是内容文件夹,缺少 jcr_root”
- database - 如何恢复在 MS Access 数据库上跳过的索引号
- html - ngx-pagination - 渲染页面非常慢
- ios - iOS - 在 Localizable.strings 中用粗体字强调
- arm - ARM Cortex A9 - 具有周期精确时钟计数的模拟器
- angular - 如何将加载设置为假输入为空
- r - ddply 使用“group_by”逻辑