2012-02-19 18 views
0

我有一个PHP页面,其上有几个HTML问题,每个问题都有一个“类型”,并且您在1的范围内回答该问题-5,在下面的例子中将会有3个问题类型:A,B,& C.如何为每个问题“类型”添加总分数(分数从每个以下的1-5个单选按钮问题),然后将这些总分数存储为PHP变量?各类问题的单选按钮评分系统,在末尾添加分数

这里是HTML代码,我没有CLUE从哪里开始,但我需要做这件事,我们很快就要做一个学校活动,我不想让他们失望:)哈哈!感谢所有帮助人员,抱歉,我对HTML表单知之甚少!不管怎么说,这里的HTML代码时,PHP可以去任何地方,我没有写它尚未/:哈哈:

Type A rating: 
<br> 
<form action="" method="post"> 
1 
<input type="radio" name="select" value="1"> 
<input type="radio" name="select" value="2"> 
<input type="radio" name="select" value="3"> 
<input type="radio" name="select" value="4"> 
<input type="radio" name="select" value="5"> 
5 
</form> 
<br><br> 
Type B rating: 
<br> 
<form action="" method="post"> 
1 
<input type="radio" name="select" value="1"> 
<input type="radio" name="select" value="2"> 
<input type="radio" name="select" value="3"> 
<input type="radio" name="select" value="4"> 
<input type="radio" name="select" value="5"> 
5 
</form> 
<br><br> 
Type A rating: 
<br> 
<form action="" method="post"> 
1 
<input type="radio" name="select" value="1"> 
<input type="radio" name="select" value="2"> 
<input type="radio" name="select" value="3"> 
<input type="radio" name="select" value="4"> 
<input type="radio" name="select" value="5"> 
5 
</form> 
<br><br> 
Type C rating: 
<br> 
<form action="" method="post"> 
1 
<input type="radio" name="select" value="1"> 
<input type="radio" name="select" value="2"> 
<input type="radio" name="select" value="3"> 
<input type="radio" name="select" value="4"> 
<input type="radio" name="select" value="5"> 
5 
</form> 
<br><br> 
Type A rating: 
<br> 
<form action="" method="post"> 
1 
<input type="radio" name="select" value="1"> 
<input type="radio" name="select" value="2"> 
<input type="radio" name="select" value="3"> 
<input type="radio" name="select" value="4"> 
<input type="radio" name="select" value="5"> 
5 
</form> 
<br><br> 
Type B rating: 
<br> 
<form action="" method="post"> 
1 
<input type="radio" name="select" value="1"> 
<input type="radio" name="select" value="2"> 
<input type="radio" name="select" value="3"> 
<input type="radio" name="select" value="4"> 
<input type="radio" name="select" value="5"> 
5 
</form> 
<br><br> 
Type B rating: 
<br> 
<form action="" method="post"> 
1 
<input type="radio" name="select" value="1"> 
<input type="radio" name="select" value="2"> 
<input type="radio" name="select" value="3"> 
<input type="radio" name="select" value="4"> 
<input type="radio" name="select" value="5"> 
5 
</form> 
<br><br> 

<input type="submit" name="Sum The Ratings" value="Vote"> 
+0

要理解你的问题为什么关闭,请阅读[faq]和[ask] – 2012-02-20 06:11:38

回答

2

在这一切的问题,创建一个大单,那么对于每个问题,设置的名称每个问题的输入都有一个不同的关键字。当你将把您的形式,你会得到与$ _ POST [“名”]选择的值,只要加入他们,并配给或wathever你wan't

<?php 
$name_cat_a = "A_"; 
$name_cat_b = "B_"; 
$cat_a_quest = array("Question A1", "Question A2"); 
$cat_b_quest = array("Question B1", "Question B2"); 
if(!isset($_POST[submit])){ 
echo '<form action="test.php" method=post>'; 
echo 'Type A rating:'; 
echo '<br />'; 
$ind = 0; 
foreach($cat_a_quest as $question){ 
    echo $question; 
    echo '<br>'; 
    $name = $name_cat_a . $ind; 
    $ind ++; 
    for($i=0;$i<5;$i++){ 
    echo '<input type="radio" name="'.$name.'" value="'.($i+1).'" />'.($i+1) ; 
    } 
    echo '<br />'; 
} 
echo 'Type B rating:'; 
echo '<br />'; 
$ind = 0; 
foreach($cat_b_quest as $question){ 
    echo $question; 
    echo '<br>'; 
    $name = $name_cat_b . $ind; 
    $ind ++; 
    for($i=0;$i<5;$i++){ 
    echo '<input type="radio" name="'.$name.'" value="'.($i+1).'" />'.($i+1); 
    } 
    echo '<br />'; 
} 
echo '<input type="hidden" name="submit" value="1" />'; 
echo '<input type="submit" name="Sum The Ratings" value="Vote">'; 
echo '</form>'; 
} 
else{ 
$moyen_a = 0; 
$moyen_b = 0; 
$nmb_ques_a = count($cat_a_quest); 
$nmb_ques_b = count($cat_b_quest); 
for($i=0; $i<$nmb_ques_a; $i++){ 
    $moyen_a = $moyen_a + intval($_POST['A_'.$i]); 
} 
$moyen_a = $moyen_a/$nmb_ques_a; 
for($i=0; $i<$nmb_ques_b; $i++){ 
    $moyen_b = $moyen_b + intval($_POST['B_'.$i]); 
} 
$moyen_b = $moyen_b/$nmb_ques_b; 


echo 'A:'.$moyen_a.'<br />'; 
echo 'B:'.$moyen_b.'<br />'; 
} 
?> 

在那里,我已经明确地命名cat_a和cat_b但你可以把你所有的猫都放入一个数组中,然后循环进入它,在这个循环中,你循环处理问题,然后循环5个答案

+0

每次我尝试它的值为/时返回0:是不是这个代码也只是平均得分?我需要所有A型问题的总和以及所有B型问题的总和等等,将会出现多个A型问题等。 – 2012-02-19 04:02:09

+0

Nevermind我输入了一些错误,它不仅仅是返回零,您的代码工作正常但它仍然不是我想要的。我可以手动命名每个问题并添加所有的值,但问题是在所有哈哈有大约95个问题。最糟糕的情况下,我需要大约30分钟才能做到这一点,但我想知道是否有更快的方法? – 2012-02-19 04:06:49

+0

我只是编辑了代码,但是你可以从数据库中取出问题并不重要,根据查询的数量创建循环 – lpostula 2012-02-19 04:17:47