2011-04-25 74 views
0

我想为教育学院做一个CGPA信息系统。说,有6个文本框,我想找出第一个5个文本框数量的平均值,因为我给出了输入,但是如果我填充它们的第一个4个框,那么也想要找出第一个4个文本框输入的平均值编号和结果显示在第6个文本框位置相同的form.i我试图在另一个PHP文件,但它不工作。该代码是在这里问题找出平均

<?php 
     $q1 = $_GET['q_1']; 
     $q2 = $_GET['q_2']; 
     $q3 = $_GET['q_3']; 
     $q4 = $_GET['q_4']; 
     $q5 = $_GET['q_5']; 


      $x=array($q1,$q2,$q3,$q4,$q5); 
      $num=count($x); 


      if($num=4) 
      { 

      $sum= $q1+$q2+$q3+$q4; 
      $num=4; 
      $avg=$sum/$num; 
      echo "bestof(4):$avg"; 

      } 
      elseif($num=5) 
      { 

      $sum= $q1+$q2+$q3+$q4+$q5; 
      $num=5; 
      $avg=$sum/$num; 
      echo "bestof(5):$avg"; 
      } 

?> 

回答

1

,它总是大小5.如果问题5没有填写,您的数组$x将是("Answer1", "A2", "A3", "A4", Null)

尝试使用isset(),以确定哪些假设从$_GET阵列填写,然后相应地建立自己的阵列,例如:

if(!isset($_GET['q_5']){ 
    $x = array($_GET['q_1'],$_GET['q_2'],$_GET['q_3'],$_GET['q_4']); 
}else{ 
    $x = array($_GET['q_1'],$_GET['q_2'],$_GET['q_3'],$_GET['q_4'],$_GET['q_5']); 
} 
+0

,但它显示名为“解析错误:在第20行的C:\ wamp \ www \ tst \ tst2.php中解析错误”和“if(!isset($ _ GET ['q_5']){”是在20行....使用您的想法代码如下所示 – webrider 2011-04-25 15:48:11

+0

<?php \t \t $ q1 = $ _GET ['q_1 ']; \t \t $ Q2 = $ _GET [' Q_2 ']; \t \t $ Q3 = $ _GET [' q_3 ']; \t \t $ Q4 = $ _GET [' C 1-4' ]; \t \t $ Q5 = $ _GET ['q_5']; \t \t \t \t \t \t if(!isset($ _ GET [ 'q_5']) \t \t \t \t \t \t { \t \t $ X =阵列($ _ GET [ 'Q_1'],$ _ GET [ 'Q_2'],$ _ GET [ 'q_3'] ,$ _ GET [ 'C 1-4']); \t \t \t $ num = count($ x); \t \t \t \t \t \t \t $总和= $ Q1 + Q2 $ + $ Q3 + Q4 $; \t \t \t $ num = 4; \t \t \t $ avg = $ sum/$ num; \t \t \t echo“bestof(4):$ avg”; \t \t \t} \t \t \t \t \t \t别的 \t \t \t \t \t \t { \t \t $ X =阵列($ _ GET [ 'Q_1'],$ _ GET [ 'Q_2'],$ _ GET [ 'q_3'],$ _ GET [ 'C 1-4'],$ _ GET [ 'q_5']); \t \t \t $ num = count($ x); \t \t \t \t \t \t $ sum = $ q1 + $ q2 + $ q3 + $ q4 + $ q5; $ num = 5; $ avg = $ sum/$ num; echo“bestof(5):$ avg”; \t \t \t} \t \t \t ?> – webrider 2011-04-25 15:48:26

+0

是的,我得到it.thank你格雷格 – webrider 2011-04-25 16:35:31

2
if($num=4) 

确实应该

if($num==4) 

,因为你要测试的平等,而不是值4,当你初始化$x分配给NUM

+1

只是为了澄清的区别,“=”是赋值,“== “是你的答案varzan的thanx相等比较 – 2011-04-25 13:45:22

+0

,但它不起作用。实际上,elseif部分始终工作,我输入的是4或5个输入 – webrider 2011-04-25 15:02:49