0

この質問は解決されました。コードは以下のとおりです。

現在、次のようなコードがあります。

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

そのすべて、x20。x20は、変数によって決定されます$rpp(ページごとの結果。質問とは無関係であるため、コードには表示されません)。各フォームには、個別の「submit」ボタンがあります。

私が達成したいのは、すべての個別の名前を付けcheckboxてボタンを押したいので、現在の名前の代わりに、送信ボタンをwhileループの外側に配置できます。つまり、すべてのx20チェックボックス/ラジオにボタンradioが1つしかないということです。submitボタンフォーム。

EG checkbox_0、、checkbox_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> <?

編集:現時点でのこのコードの出力には、フォームフィールドごとに個別の送信ボタンが表示されます。私が達成したいのは、すべてのフォームフィールドに対して1つの送信ボタンを用意することです。

編集2:それを理解しました!最終的な編集は私がそれをした方法です。将来この質問に出くわすかもしれない他の人のために。

4

1 に答える 1

0

これを試してください:フォーム宣言をwhileループの外に移動したいとします。これは、送信ボタンをwhileループの外に移動することも意味します。ラジオボタンはwhileループの反復ごとに一意の名前を持ち、forループの反復ごとにグループ化されるため、内部のすべてが同じままである可​​能性があります。

<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> 
于 2012-12-19T16:27:35.543 に答える