2016-10-27 384 views
-3

我想输出上面的变量输出在HTML中,所以我可以用来报告我的HTML表中的一列的状态。我有下面的代码,但它似乎并没有工作,因为我不断收到“无法预料的”错误。PHP如果其他语句

<?php 
$st = $row_all_students['mem_review_stat']; 


    if ($st == "Pending") { 
     echo "<span class="label label-info">Pending</span>"; 
    } elseif ($st == "on hold") { 
     echo "<span class="label label-danger">Suspended</span>"; 
    } else { 
     echo "<span class="label label-success">Reviewed</span>"; 
} 
?> 

有人可以帮我用正确的语法吗? 在此先感谢!

+1

我看到它 - 它是双引号 – WEBjuju

+2

这不是一个'如果...... ELSEIF ... else'问题,而是一个引号问题中的双引号。 – roberto06

+0

你的PHP日志告诉你有关你的语法错误。看看你的日志。 – David

回答

4

试试这个代码:

<?php 
$st = $row_all_students['mem_review_stat']; 


    if ($st == "Pending") { 
     echo '<span class="label label-info">Pending</span>'; 
    } elseif ($st == "on hold") { 
     echo '<span class="label label-danger">Suspended</span>'; 
    } else { 
     echo '<span class="label label-success">Reviewed</span>'; 
} 
?> 
+0

感谢马托尼特。 –

1

你逃避你内心"所以PHP知道他们的字符串,而不是结束的一部分。

<?php 
$st = $row_all_students['mem_review_stat']; 


    if ($st == "Pending") { 
     echo "<span class=\"label label-info\">Pending</span>"; 
    } elseif ($st == "on hold") { 
     echo "<span class=\"label label-danger\">Suspended</span>"; 
    } else { 
     echo "<span class=\"label label-success\">Reviewed</span>"; 
} 
?> 

或者:使用单引号:

<?php 
$st = $row_all_students['mem_review_stat']; 


    if ($st == "Pending") { 
     echo '<span class="label label-info">Pending</span>'; 
    } elseif ($st == "on hold") { 
     echo '<span class="label label-danger">Suspended</span>'; 
    } else { 
     echo '<span class="label label-success">Reviewed</span>'; 
} 
?> 
+0

谢谢Franz!这工作。 –

1

你必须转义引号。 有几种方法。欲了解更多信息,请查看这个答案:https://stackoverflow.com/a/7999163/3119231

<?php 
$st = $row_all_students['mem_review_stat']; 
if ($st == "Pending") echo "<span class='label label-info'>Pending</span>"; 
elseif ($st == "on hold") echo "<span class='label label-danger'>Suspended</span>"; 
else echo "<span class='label label-success'>Reviewed</span>"; 
?>