Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取具有不同名称和相同for循环的单选按钮值_Php_Mysql - Fatal编程技术网

Php 获取具有不同名称和相同for循环的单选按钮值

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页面或其他页面上获取这些单选按钮的值

 <?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