为ONE提交按钮为每个表单字段分配单个名称

时间:2012-12-19 16:16:06

标签: php html mysql forms submit

  

这个问题已经解决了。代码如下。

目前我有一段代码是这样的:

while ($query…) {
<checkbox form named "rating"> <submit button for "rating">
} 

所有这些,x20。 x20由变量$rpp确定(每页结果。它没有显示在代码中,因为它与问题无关)。每个表单都有各自的“submit”按钮。

我想要实现的是,我想给checkboxradio按钮所有的个人名称,所以我可以在while循环之外使用提交按钮代替现在的名字,这意味着,所有x20复选框/单选按钮表单只有一个submit按钮。

E.G checkbox_0checkbox_1,...

我唯一的问题是,我该如何实现这一目标?我在哪里玩submit按钮?我也问过正确的问题吗?如果我听起来有点含糊,我道歉。如果您有疑问,请询问,我会回答。

我在下面的代码中尝试了一下。看起来这不是很多人的做法,所以我的谷歌搜索大部分并没有发现任何有用的东西,尽管我确实知道从哪里开始。有人可以给我一些指导吗?

<?

if (isset($_POST['formSubmit'])){
  $j = 1;
  while ($j < $_GET['rpp']) {
    $rating = mysql_real_escape_string($_POST['rating'.$j]);
    $accountID = $_POST['accountID'.$j]; 

    mysql_query("UPDATE Spreadsheet SET rating='$rating' WHERE accountID='$accountID'");
    $j++;
  }
}

$k = 1; ?>

<form name ="rating" method ="POST" action ="" > <?
while($row = mysql_fetch_array($query)){  

    // Drop-down menu

    $values = array('0 - No rating','1 - Very Bad','2 - Bad','3 - Average','4 - Above Average');

    echo "<input type = \"hidden\" name = \"accountID" . $k . "\" value = \"" . $row['accountID'] . "\" >";
    for($i = 0; $i < count($values); $i++){ ?>
          <input type="radio" name="rating<? echo $k; ?>" value="<?php echo $values[$i]; ?>" id="rbl_0" <? if($row['rating'] == $i) echo "checked='checked'"; ?>/>
          <? echo $values[$i] ?> <br> <? 
        }

$k++;
} ?>

 <input type ="Submit" name ="formSubmit" value ="Submit and Next Page" />
 </form> <?

编辑:此代码的输出显示每个表单字段的单独提交按钮。我想要实现的是为所有表单字段提供一个提交按钮。

编辑2:想出来!最后的编辑是我如何做到的。对于其他可能在将来偶然发现这个问题的人。

1 个答案:

答案 0 :(得分:0)

试试这个:你想在你的while循环之外移动你的表单声明。这也意味着您想要在while循环之外移动提交按钮。内部的所有内容都可以保持不变,因为您的单选按钮在循环迭代中具有唯一的名称,并且按循环迭代进行分组。

<form name ="rating" method ="POST" action ="" > 
<?php
while($row = mysql_fetch_array($query)){ 
  $values = array('0 - No rating','1 - Very Bad','2 - Bad','3 - Average','4 - Above    Average'); ?>
  echo "<input type = \"hidden\" name = \"accountID" . $k . "\" value = \"" . $row['accountID'] . "\" >";
  for($i = 0; $i < count($values); $i++){ ?>
      <input type="radio" name="rating<? echo $k; ?>" value="<?php echo $values[$i]; ?>" id="rbl_0" <? if($row['rating'] == $i) echo "checked='checked'"; ?>/>
      <? echo $values[$i] ?> <br> <? 
    } ?>
 } ?>
 <input type ="Submit" name ="formSubmit" value ="Submit" />
</form>