I am using the codeigniter framework.I have a switch-case problem in view where the switch case do not function. The $total_Assessment
do not grouped according to marks range, all value of the $grade
are the same. Hope someone can correct my mistake.
Here is my view function:
<?php $number=1;$grade=null;$pointer=0;$level=null;?>
<?php foreach ($query as $data):?>
<tr>
<td><?php echo $number ?></td>
<td><?php echo $data->Matric_No; ?></td>
<td><?php echo $data->Student_Name; ?></td>
<td><?php echo $data->Result_Mark_1; ?></td>
<td><?php echo $data->Result_Mark_2; ?></td>
<td><?php echo $data->Result_Mark_3; ?></td>
<td><?php echo $data->Result_Mark_4; ?></td>
<td><?php echo $data->Result_Mark_5; ?></td>
<?php $total_Assessment=$data->Result_Mark_1+$data-Result_Mark_2+$data->Result_Mark_3+$data->Result_Mark_4+$data->Result_Mark_5 ?>
<td><?php echo $total_Assessment ?></td>
<?php
switch ($total_Assessment)
{
case "$total_Assessment>=80":
$grade="A";
break;
case "$total_Assessment>=75":
$grade="A-";
break;
case "$total_Assessment>=70":
$grade="B+";
break;
case "$total_Assessment>=65":
$grade="B";
break;
case "$total_Assessment>=60":
$grade="B-";
break;
case "$total_Assessment>=55":
$grade="C+";
break;
case "$total_Assessment>=50":
$grade="C";
break;
case "$total_Assessment>=45":
$grade="C-";
break;
case "$total_Assessment>=40":
$grade="D";
break;
default:
$grade="F";
}
?>
<td><?php echo $grade?></td>
Thank you.
Try to remove the double quotes like this:
case "$total_Assessment>=70":
to this:
case $total_Assessment>=70:
Hope it will help.
I don't know what you want to do but we can find this in your code:
$total_Assessment=$data->Result_Mark_1+$data-Result_Mark_2+$data->Result_Mark_3+$data->Result_Mark_4+$data->Result_Mark_5
We see additions and subtractions so $total_Assessment
must be a number.
switch ($total_Assessment)
{
case "$total_Assessment>=80":
Oh, wait! Is $total_Assessment
supposed to be a string with PHP code? That's just not possible!
I suspect you want this:
if($total_Assessment){
}elseif($total_Assessment>=75){
}
...
I also think the first line I quote contains several errors: $data-Result_Mark_2
? Do you really have a constant called Result_Mark_2
? Have you configured your development box to help you with error messages?