0

我需要一些关于 php 的帮助。我对这种语言相当陌生,尽管我在 Wamp 上将它用于一个网站,该网站应该显示一个带有 ID 的表格,并且每行中都有一个提交按钮,单击该按钮时,应该只显示该特定行的信息。我想出的语法有一个问题,它显示了所有行的信息,而不仅仅是点击的那一行。代码如下:

<?php
  print "<table>";

表头

    print "<tr>";
      print "<th>ID</th>";
      print "<th>Click to View Row Info</th>";
    print "</tr>";

表格内容(5 行中的 ID 和按钮)

  for ($i=1; $i<=5; $i++){
    print "<tr>";
      print "<form method=\"post\" action=\"Popup.php\">";
      print "<td>";
      print "<input name=\"$i\" type=\"text\" value=\"";
      echo $i;
      print "\"/>";
      print "</td>";


      print "<td>";

      print "<input type=\"submit\" name=\"submit\" value=\"View Row\" /></form>";
      print "</td>";

    print "</tr>";
  }

Popup.php 显示代码片段

  $sub=$i;

  for ($i=0; $i<=$sub; $i++){
  print "The ID for this row is: ";
  echo $i; 
  }
?>

Popup.php 是一个单独的文件,它接收表单变量并显示它。如果我能在这方面得到一些帮助,我将不胜感激。如果我的问题有任何不清楚的地方,请随时告诉我。

4

2 回答 2

0

表单需要在循环之外(并且也应该在 tbale 之外)另外,像这样更改输入名称,这样

print "<form method=\"post\" action=\"Popup.php\">";

for ($i=1; $i<=5; $i++){
    print "<tr>";

      print "<td>";
      print "<input name=\name[$i]\" type=\"text\" value=\"";
      echo $i;
      print "\"/>";
      print "</td>";


      print "<td>";

      print "<input type=\"submit\" name=\"submit\" value=\"View Row\" /></form>";
      print "</td>";

    print "</tr>";
  }

然后在 popup.php 中将其更改为

 foreach($_POST['name'] as $key=>$value)
    print "The value for $key is: $value";
于 2012-07-02T23:33:20.283 回答
0

首先,使用一个常量作为name attribute输入元素的 ID

print "<input name='val' type=\"text\" value=\""; 

然后改变这一行

$sub=$i;

$sub = $_POST['val'];

于 2012-07-02T23:34:40.900 回答