douyong6585
2013-07-22 15:54
浏览 11
已采纳

这样的事情有可能吗?

<?php
$division=$row['mark'];
$pass="Passed";
if($division>=80 && $pass==include "result.php")// Result.php has two value: one is `Pass` and the other is `Fail`.
{
  echo "Letter";
}
elseif($division>=70 && $pass==include "result.php")
{
  echo "First";
}
else
{
  echo "Fail";
}
?>

What I want to output here is: if $division is equal to 80 and at the same time if $pass is equal to Passed, echo Letter. But if $division is less than 70, echo Fail; also $pass here equals to fail which is taken from result.php. I have been trying to output it with following code, but it does not work. It outputs FailFailFailFail when $division is less than 70.

Code for Result.php

<?php
   $eng=40;
   $mizo=40;
   $hindi=40;
   $maths=40;
   $ss=40;
   $science=40;

   if ($eng>=40 && $mizo>=40 && $hindi>=40 && $maths>=40 && $ss>=40 && $science>=40)
   {
   echo "<font color=green>Passed</font>";
   }
   else 
   {
   echo "<font color=red>Failed</font>";
   }
   ?>
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • dongxianshuai8927 2013-07-22 18:24
    已采纳

    Something like this will do. For your result.php, use the following:

     <?php
     $eng= 40;
     $mizo= 40; 
     $hindi= 40; 
     $maths= 40; 
     $ss= 40; 
     $science= 40; 
    
    //  first group your variable into one array = $all
    $all = array($eng, $mizo, $hindi, $maths, $ss, $science); 
    // second, just iterate over them till you find one value -40
    for($i=0; $i < count($all); $i++){
    if($all[$i] < 40) $sum = 1;
    }
    ?>
    

    For output:

    <?php include "result.php";?>
    <?php 
    $division=$row_['mark'];
    $pass="Passed";
    $test = (!empty($sum)) ? 'Failed' : 'Passed';
    if($division>=80 && $pass==$test)
    {
    echo "Letter";
    }
    elseif($division>=70 && $pass==$test)
    {
    echo "First"; 
    }
    else
    {
    echo "Passed";
    }
    ?>
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • donxbje866688 2013-07-22 16:02

    You are going about this all the wrong way. You can't compare the results of an include like that, not to mention they don't match properly anyway as you're comparing a single word string against a string with a whole bunch of HTML in it.

    A better way to do it is to include results.php and store your answer in a variable. I have written an example below.

    First off you need to change result.php to:

    <?php
    $eng=40;
    $mizo=40;
    $hindi=40;
    $maths=40;
    $ss=40;
    $science=40;
    
    if ($eng>=40 && $mizo>=40 && $hindi>=40 && $maths>=40 && $ss>=40 && $science>=40)
    {
        $test = "Passed";
    }
    else 
    {
        $test = "Failed";
    }
    ?>
    

    Then you put the following in the first file:

    <?php
    $division=$row['mark'];
    $pass="Passed";
    include("result.php");// Result.php has two value: one is `Pass` and the other is `Fail`, store in $test.
    if($division>=80 && $pass==$test)
    {
      echo "Letter";
    }
    elseif($division>=70 && $pass==$test)
    {
      echo "First";
    }
    else
    {
      echo "Fail";
    }
    ?>
    
    评论
    解决 无用
    打赏 举报
  • duanmajing9332 2013-07-22 16:05

    You need to include the file first:

    <?php
    
    include "result.php"; //include the file
    
    $division =$ row['mark'];
    $pass = "Passed";
    
    if($division == 80 && $pass == "Passed") {
      echo "Letter";
    }
    
    elseif($division < 70) {
      echo "Fail";
    }
    
    ?>
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题