我有一个由sql语句返回的“n”行数。效果很好。对于返回的每一行,我希望用户选择一个选项(选项'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 ++;
}
updatepics.php:
Game
<?php
echo $_POST['game'];
echo " " . $_POST['player'] . " picks: ";
echo " " . $_POST['choice'] ;
?>
updatepics.php的输出...
游戏1奶奶选秀权:
注意'choice'为空
答案 0 :(得分:0)
根据HTML4规范,names attributes are defined as CDATA和CDATA is defined as follows:
ID和NAME令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0-9]),连字符(“ - ”),下划线(“ _“),冒号(”:“)和句号(”。“)。
修改代码,使所有名称值至少以一个字母开头。
答案 1 :(得分: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']