将布尔字段回显为是/否或其他值

时间:2012-03-03 15:52:14

标签: php mysql

我在只读S​​QL表上有一个字段,名为有人值守,只能容纳两个值0或1。

这就是我现在打印这个领域的方式:

  echo "<td>" . $row['attended'] . "</td>";

它只返回0或1 - 参与字段中的值。我怎样才能让 0(即没有参加) 没有 <1>

非常感谢提前!

5 个答案:

答案 0 :(得分:10)

您可以使用三元运算符(在某些语言中也称为条件运算符)?:

echo '<td>' . ($row['attended'] ? 'yes' : 'no') . '</td>';

在“Ternary Operator”标题下的手册页Comparison Operators中提到了此运算符。

答案 1 :(得分:2)

$arr = array(1 => 'Yes', 0 => 'No);

echo "<td>" . $arr[$row['attended']] . "</td>";

答案 2 :(得分:1)

ternary operator非常合适:

echo ($row['attended']?'yes':'no');

如果您想直接从SQL查询中获取是/否,请使用IF语句:

SELECT IF attended THEN 'yes' ELSE 'no' AS attended
FROM …

答案 3 :(得分:0)

使用ternary operator

echo "<td>" . ( $row['attended'] == 1 ? 'yes' : 'no' ). "</td>";

答案 4 :(得分:0)

类似的东西:

echo('<td>'.(($row['attended']==1) ? 'yes' : 'no').'</td>');