0

我的“服务”有一个数据库表,其中包含一个 serviceid 和一些其他不相关的字段。我正在使用 PHP 动态生成一个显示查询服务的 HTML 表。在每一行中都有一个相应的“查看”按钮,单击该按钮时应提交到与要查看的服务的 id 值相同的页面(该页面将在设置$_POST['serviceid']等于从传递的值后重定向到另一个页面按钮)。

以下是我使用 PHP 动态创建 HTML 表的方法:

    while(list($id, $name, $details, $datecreated, $firstname, $lastname) = $results->fetch_row())
    {
      if($index % 2 == 0)
      {
        echo "<tr BGCOLOR=\"#DCDCDC\" style=\"color: Black;\">";
      }
      else
      {
        echo "<tr>";
      }
      echo "<td>" . "<input type=\"checkbox\" id=\"flag$id \" name=\"flag\" value=\"Flag$id\"/>" . "</td>";
      echo "<td>" . "<input type=\"submit\" id=\"view$id \" name=\"view\" value=\"View\"/>" . "</td>";
      echo "<td>" . $id . "</td>";
      echo "<td>" . $name . "</td>";
      echo "<td>" . $details . "</td>";
      echo "<td>" . $datecreated . "</td>";
      echo "<td>" . $firstname . " " . $lastname . "</td>";
      echo "</tr>";

      $index++;
    } 

这是我的 results.view.php,这是我显示数据的地方。虽然您看不到<form>上面的标签,但知道它回发到包含此视图的控制器和处理按钮按下等的模型就足够了。

那么我的问题是我怎么知道点击了哪个视图按钮?它可能在第一个服务、最后一个服务或介于两者之间的任何服务上。我已将$id服务的 id 放在按钮的 id 值中,但我不确定如何引用它。如果我知道如何做到这一点,那么我可能会拼接出“视图”这个词,并留下执行任务所需的 id。

有任何想法吗?

4

2 回答 2

0

提供按钮 àn ID 将解决鼠标问题,但不适用于键盘;无论您的关键焦点在哪里,第一个提交按钮都会声明自己被按下。

我可以看到有两种解决方案:

  • 使用 A 元素代替,带有查询字符串。
  • 每个 TR 中的一个 FORM 元素。
于 2011-02-21T22:01:49.277 回答
0

只有您单击的按钮的值才会发送到下一页。如果您为所有按钮分配唯一名称,则可以简单地检查它们

if (isset($_POST['button1'])) echo "button 1 was clicked";.

当然,如果您在其中一个字段中使用 [Enter] 提交表单,这将不起作用。另一种选择是为此使用单选按钮?或更多形式。

于 2011-02-21T22:04:29.503 回答