当按钮数量可变时,如何处理多个提交按钮?

时间:2014-06-27 13:44:47

标签: php html forms submit

我在这里尝试完成的是从数据库中获取数据并将其显示为表单。 如何命名提交按钮,以便我可以在操作页面上识别它们?

if(isset($_POST["sch"]))
      {
      $_SESSION['e']=$_POST["phon"];
      $result_set=mysql_query("select * from bill_info where      phone='".$_SESSION['e']."' and net_payable=0 order by bill_no");
      if($row=mysql_fetch_array($result_set))
      {      
      echo "<form name=\"shpen\" method=\"post\" action=\"vgbill2.php\"> <table border=\"0\">";
      do
      {
        echo "<tr><th>Bills</th><th>Action</th></tr>";
        echo "<tr><td>".$row[0]."</td><td><input type=\"submit\" name=\"".$row[0]."\" value=\"Generate\"></td></tr>";
        } while($row=mysql_fetch_array($result_set));
        //echo mysql_errno($con) . ": " . mysql_error($con) . "\r\n";
      echo "</table></form>";  
      }
      else echo "\r\n"." No bills pending for given phone number"." \r\n";
      } 

2 个答案:

答案 0 :(得分:1)

使用按钮代替输入:

echo '<button type="submit" name="bt_submit" value="'.$row[0].'">Generate</button>';

所以你在$_POST['bt_submit']中得到了以前的名字。

答案 1 :(得分:0)

由于您正在创建动态表单并提交数据,因此您不必遵循任何特殊的命名约定。请使用提交按钮名称作为“保存”,并将一个隐藏的文件设置为BillId,并在您的操作页面中检查是否为isset($ _ POST ['Save']){//基于$ _POST ['BillId']进行操作}。