将php数组转换为HTML中的单选按钮?

时间:2015-08-04 22:17:26

标签: php html arrays

我想使用HTML,PHP,Javascript创建调查。所以我在csv文件中有我的问题和答案(最终将在SQL服务器中)。我需要帮助的是如何使我的答案单选按钮(类型),以便用户可以选择其中一个,我可以稍后处理它。我不是硬编码问题的原因是因为我希望能够从文件(最终服务器)编辑它们。

我的csv文件看起来像这样:

Question 1,Answer1 A,Answer1 B,Answer1 C,Answer1 D
Question 2,Answer2 A,Answer2 B,Answer2 C,Answer2 D

现在用php处理它,输出如下:

1. Question 1
Answer1 A
Answer1 B
Answer1 C
Answer1 D
2. Question 2
Answer2 A
Answer2 B
Answer2 C
Answer2 D

我用于php的代码是:

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        $file = fopen('test.csv','r');
        while(($line = fgetcsv($file)) !== FALSE)
        {
            list($questions[], $optionA[], $optionB[], $optionC[], $optionD[]) = $line;
            //  print_r($line);
        }
        fclose($file);
        $lengthquestion = count($questions);
        $lengthoptionA = count($optionA);
        $lengthoptionB = count($optionB);
        $lengthoptionC = count($optionC);
        $lengthoptionD = count($optionD);

        echo '<ol>';
        for($i=0; $i<$lengthquestion; $i++)
        {
            echo '<li><div>';
            echo $questions[$i] . '<br />';
                echo $optionA[$i] . '<br />';
                echo $optionB[$i] . '<br />';
                echo $optionC[$i] . '<br />';
                echo $optionD[$i] . '<br />';
            echo '</div></li>';
        }
        echo '</ol>';
        ?>
    </body>
</html>

我想要的输出当然是左侧的单选按钮

 A) Answer1 A 
 B) Answer1 B 
 C) Answer1 C 
 D) Answer1 D

更新主要问题:

除了@maytham回答的主要问题:

在我的顶级代码块中,我在php之后添加了这个。

<form name="next" action="submit.php" method="post" id='1'>
    <input type="submit" value="Submit"/>
</form>

我真正的问题是括号([])应该是什么。我也可以这样称呼长度问题。以下是我认为代码的样子:

这是sumbit.php

<?php 
session_start();
$file="FILE.csv";
$fp = fopen($file, "a") or die("could not open");
for($i=0; $i<$lenghtquestion; $i++)
{ $_SESSION["answer' . $i'"] = $_POST["answer' . $i'"];
  $data.=$_SESSION["answer' . $i'"].",";
  fwrite($fp,$data) or die("could not write"); }
fclose($fp);

这不起作用

1 个答案:

答案 0 :(得分:1)

您可以在for loop

中将单选按钮作为群组进行操作
for ($i = 0; $i < $lengthquestion; $i ++)
{
    echo '<li><div>';
    echo $questions[$i] . '<br />';
    echo '<input type="radio" name="group' . $i . '" value="' . $optionA[$i] . '">' . $optionA[$i] . '<br />';
    echo '<input type="radio" name="group' . $i . '" value="' . $optionB[$i] . '">' . $optionB[$i] . '<br />';
    echo '<input type="radio" name="group' . $i . '" value="' . $optionC[$i] . '">' . $optionC[$i] . '<br />';
    echo '<input type="radio" name="group' . $i . '" value="' . $optionD[$i] . '">' . $optionD[$i] . '<br />';
    echo '</div></li>';
}

这是它的样子:

enter image description here