首页 > 解决方案 > 将 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>

标签: phphtml

解决方案


如果您有一个表单,那么如果您删除隐藏字段,我建议让命名提交按钮发送 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>

            ....

推荐阅读