0

我有“n”行由 sql 语句返回。效果很好。对于返回的每一行,我希望用户选择一个选项(选项“a”或选项“b”)

作为标准做法,while 循环用于遍历每一行,并且我尝试通过行号命名我的选项。但是,当我尝试获取用户选择的单选按钮的值时遇到了问题。

我似乎无法在 where 子句的第一个循环(或具有适当名称的任何循环)中动态获取名为 1 的单选按钮的值。

这里的代码片段:

$counter = 1;

while($row = mysql_fetch_array($result))
{

  echo "<form action='updatepics.php' method='post'>";
  echo "<input type='radio' name='m" . $counter . "' value=  ". $row['f_id'] ."> " . $row['Favorite'];
  echo "<input type='hidden' name='game' value=" . $counter . ">";
  echo " vs " . $row['Underdog'] ." ";
  echo "<input type='radio' name='m" . $counter . "' value=  ". $row['d_id'] ."> ";

  echo "<br>";
  echo "<input type='hidden' name='choice' value=" . $_GET["m" . $counter] . " >";
  echo "<input type='submit' value='Make Choice'>";
  echo "</form>";
  $counter ++;
}

更新图片.php:

Game 
<?php
 echo $_POST['game'];
 echo " " . $_POST['player'] . " picks: ";
 echo " " . $_POST['choice'] ;
 ?>

updatepics.php 的输出...
游戏 1 奶奶选择:

注意“选择”为空

4

2 回答 2

0

我从动态创建单选按钮名称中解脱出来。现在所有单选按钮在循环的每次迭代中都具有相同的名称。

即使您在为每次迭代点击提交按钮之前选择了所有按钮,它似乎也可以在正确的时间传递正确的值。

echo "<form action='updatepics.php' method='post'>";

echo "<input type='radio' name='mw' value=  ". $row['f_id'] ."> " . $row['Favorite'];
echo "<input type='hidden' name='game' value=" . $row['f_id'] . ">";
echo "<input type='hidden' name='player' value='" . $user . "' >";
echo " vs " . $row['Underdog'] ." ";
echo "<input type='radio' name='mw' value=  ". $row['d_id'] ."> ";
echo "  " . $row['line'];

echo "<input type='submit' value='Make Choice'>";
echo "</form>";

updatepics.php 也很简单,而且可以正常工作: $_POST['mw']

于 2012-08-24T04:57:34.603 回答
0

根据 HTML4 规范,名称属性定义为 CDATACDATA 定义如下

ID 和 NAME 标记必须以字母 ([A-Za-z]) 开头,后跟任意数量的字母、数字 ([0-9])、连字符 ("-")、下划线 ("_") , 冒号 (":") 和句点 (".")。

修改您的代码以使所有名称值至少以一个字母开头。

于 2012-08-23T19:33:09.073 回答