Php 获取具有不同名称和相同for循环的单选按钮值
如何在同一个php页面或其他页面上获取这些单选按钮的值Php 获取具有不同名称和相同for循环的单选按钮值,php,mysql,Php,Mysql,如何在同一个php页面或其他页面上获取这些单选按钮的值 <?php $i=1; while($i<=5) { echo " <input type='radio' name='rating$i' value='1' id='rating_0'> <input type='radio' name='rating$i' value='2' id='rating_1'>
<?php
$i=1;
while($i<=5) {
echo "
<input type='radio' name='rating$i' value='1' id='rating_0'>
<input type='radio' name='rating$i' value='2' id='rating_1'>
<input type='radio' name='rating$i' value='3' id='rating_2'>
<input type='radio' name='rating$i' value='4' id='rating_3'>
<input type='radio' name='rating$i' value='5' id='rating_4'>
";
echo "<br />";
$i++;
}
?>
既然您使用的是PHP,我假设您正在寻找服务器端解决方案
在这种情况下,您应该用表单
包围您的输入。例如:
<form name="myForm" action="myAction.php" method="post">
<?php
$i=1;
while($i<=5) {
echo "
<input type='radio' name='rating$i' value='1' id='rating_0'>
<input type='radio' name='rating$i' value='2' id='rating_1'>
<input type='radio' name='rating$i' value='3' id='rating_2'>
<input type='radio' name='rating$i' value='4' id='rating_3'>
<input type='radio' name='rating$i' value='5' id='rating_4'>
";
echo "<br />";
$i++;
}
?>
</form>
更新:
如果您知道只有这些输入,则可以循环使用所有$\u POST
值,如下所示:
foreach($_POST as $val){
// do something with $val
}
如果您不知道输入的数量,但您知道它们都将被称为“ratingX”,那么您可以遍历所有$\u POST
值,并查找以“rating”(不是最佳优化解决方案)开头的值:
尝试包含一个表单并添加此表单
<form action="page.php" action="post">
<?php
while($i<=5) {
echo "
<input type='radio' name='rating$i' value='1' id='rating_0'>
<input type='radio' name='rating$i' value='2' id='rating_1'>
<input type='radio' name='rating$i' value='3' id='rating_2'>
<input type='radio' name='rating$i' value='4' id='rating_3'>
<input type='radio' name='rating$i' value='5' id='rating_4'>
";
echo "<br />";
$i++;
}
?>
</form>
您可以执行以下操作以获取值(非选定值)
要获得选定的值,您只需检查
var value = rating$i.value; //rating1 rating2 and so on
也许使用foreach($\u POST){}?实际上OP的代码可以工作,因为$i
会被扩展,因为它位于双引号stringhi Lorenzo中!谢谢你的回答,但我不确定输入的数量,有很多问题,你能建议我在这种情况下应该怎么做吗?我有一个问题,变量$val被视为单选按钮的一个值,我在你建议和我写的代码中得到了正确的值,但现在问题是,如果我想在循环中有多个值,这只是一个单选按钮,假设我有3个文本字段和一个单选按钮。您能告诉我如何获取所有表单输入的值吗?foreach($\u POST as$val)
代码片段将适用于表单中的每个输入,因此您可以从这里开始,如何区分它是评级、问题id、问题还是答案?好吧,我们稍微偏离了原始问题,所以不完全是一个帮助台:)我们现在不在代码“设计”领域。一个简单的解决方案是为不同的输入提供不同的名称/前缀(例如radio1、radio2..、questionid、question1、question2..、answer1、answer2..等等)
<form action="page.php" action="post">
<?php
while($i<=5) {
echo "
<input type='radio' name='rating$i' value='1' id='rating_0'>
<input type='radio' name='rating$i' value='2' id='rating_1'>
<input type='radio' name='rating$i' value='3' id='rating_2'>
<input type='radio' name='rating$i' value='4' id='rating_3'>
<input type='radio' name='rating$i' value='5' id='rating_4'>
";
echo "<br />";
$i++;
}
?>
</form>
foreach($_POST() as $radioval)
{
echo $radioval;
}
var elements = document.querySelectorAll('input[name="rating$i"]'); //where rating$i is rating1 rating 2 and so on
for (var element in elements)
{
var value=element.value;
}
var value = rating$i.value; //rating1 rating2 and so on