1

我正在尝试制作一个变量是/否无线电类型。我的脚本是:

                while ($row1 = mysql_fetch_assoc($vragen))
                {
                    $type = $row1['type'];
                    if ($type == 'kort')
                        {
                    echo '
                        <tr>
                            <td width="60%">'
                                .$row1['vraag'].'
                                <input type="hidden" name="vragen'.$aantalBranches.'[]" value="'.$row1['vraag'].'"/>
                            </td>
                            <td>
                            <input type="text" name="antwoorden'.$aantalBranches.'[]"/>
                            </td>
                        </tr>';
                        }
                    elseif ($type == 'lang')
                    {
                    echo '
                        <tr>
                            <td width="60%">'
                                .$row1['vraag'].'
                                <input type="hidden" name="vragen'.$aantalBranches.'[]" value="'.$row1['vraag'].'"/>
                                </td>       
                        <td><textarea name="antwoorden'.$aantalBranches.'[]" cols="30"rows="5"></textarea><td/>
                        </tr>';

                    }
                    elseif ($type == 'ja,nee')
                        {
                        echo'
                        <tr>
                            <td width="60%">'
                                .$row1['vraag'].'
                                </td>
                            <td>
                                <input type="radio" name="optie'.$c.'"  value="yes">Yes
                                <input type="radio" name="optie'.$c.'"  value="no">No  
                            </td>';

                            if ('optie'.$c.'' == 'yes')
                                {
                                echo'
                                <td><input type="hidden" name="vragen'.$aantalBranches.'[]" value="'.$row1['vraag'].'"/></td>
                                <td><input type="text" name="antwoorden'.$aantalBranches.'[]" value="yes"/></td>
                                </tr>';
                                }
                            else
                            {
                            echo'
                            <td><input type="hidden" name="vragen'.$aantalBranches.'[]" value="'.$row1['vraag'].'"/></td>
                            <td><input type="text" name="antwoorden'.$aantalBranches.'[]" value="no"/></td>
                            </tr>';
                            }

                        $c++;

                    }


                }

            echo '</table>';
            $aantalBranches++;
    }

问题是我希望将结果存储在 $antwooden [] 的 1 个变量中,所以最合乎逻辑的方法是 if else ,但出于一个奇怪的原因,它不起作用 any1 可以帮助我吗?即使我将其更改为“是”,它现在也只显示“否”。我编辑了脚本并添加了长字段和短字段(textarea/inputfield)形式的其他选择提前谢谢。

4

2 回答 2

0
if ('optie'.$c.'' == 'yes')

这部分将始终评估为false

您可能不知道该变量将如何命名,因为名称取决于变量 $c 的值,这就是给您带来困难的原因。

为了克服这个问题,你可以拉出所有以'optie'字符串开头的变量,然后在你想使用它们时循环它们。你也可以像这样访问这个变量。

$optionname = 'optie'.$c;
$optionvalue = $$optionname;
// or
$optionvalue = $_POST[$optionname];

但一般来说,看看你的代码,它的结构非常糟糕,我会考虑重组该代码。但是如果没有更多的上下文,我无法为您提供更多关于如何执行此操作的说明。

更新:

只需将上述条件更改为:

if ($_POST['optie'.$c] === 'yes')

或者,如果您使用“GET”http 请求传递“optie”变量,则将 $_POST 更改为 $_GET。

于 2012-12-03T08:59:30.653 回答
0

它总是显示no,因为这永远无法评估为真:

if ('optie'.$c.'' == 'yes')

包含的字符串optie将永远不会匹配yes。所以else总是输入输出no值的块。

于 2012-12-03T09:01:03.240 回答