【发布时间】:2014-07-23 00:41:47
【问题描述】:
关于上一个问题,我刚刚设法由一个非常慷慨的人解决。我还有 1 个问题。 我正在回应登录到我网站的在线用户;但是我也想回应他们的性别。 现在的问题是,性别存储为 0 和 1 而不是男性和女性。我已经尝试过,但我似乎无法让它工作......我的代码;
$result = mysql_query("SELECT DISTINCT name, gender FROM online INNER JOIN base ON online.ID = base.id limit 8 ");
switch($gender)
{
case 0: $gen='Male'; break;
case 1: $gen='Female'; break;
default: $gen='Undecided'; break;
}
echo "<table class='table table-hover' width='300'><tr></tr>";
while($row = mysql_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['gender'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "</tr>";
}
echo "</table>";
此脚本不起作用,但也许有人可以阐明解决方案?不胜感激!
【问题讨论】:
-
在测试前尝试将 $gender 转换为 int。
-
如果我是你,我会使用 if/else 而不是 switch/case。此外,您那里有很多 html,最好将 html 写在 php 标签之外
-
您可以使用 switch 部分创建一个函数并返回 $gen,并在显示中使用 DB 性别值调用该函数。
-
为什么不使用
array查找表呢?还值得注意的是,已弃用的mysql_query接口不应在新应用程序中使用,它会在不久的将来从 PHP 中删除。