对于使用 PHP 的不同用户,以不同的方式显示 MySQL 中的字段


Show fields from MySQL differently for different users with PHP

我正在使用Javascript和PHP创建一个前端html表,它将为数据库中的不同用户显示不同的结果。

+-----------------+---------+-------+
| Student         | Subject | Mark  |
+-----------------+---------+-------+
| John Smith      | Math    | 9     |
| Mike William    | Math    | 8     |
+-----------------+---------+-------+

前端表应根据用户权限显示结果。如果注册用户登录,他将看到所有结果,实际上是表的所有字段。如果未注册用户登录,他将看到 N/A 而不是标记。

桌子

a) 注册用户:约翰·史密斯 |数学 |9 |迈克·威廉姆斯 |哎呀 |9

b) 访客(非注册用户):约翰·史密斯 |数学 |不适用 |迈克·威廉姆斯 |哎呀 |不适用

我是否朝着正确的方向前进?

<?php if ( is_user_logged_in() ) { ... } ?> 
or
<?php if (isset($_SESSION['username'])) {... } ?>

然后使用echo功能显示表格并在"else"部分中显示" N/A"字符串。

还是有更顺畅的解决方案?

使用isset()对我有用。 有了它,您可以将这两种情况放在if else语句中并轻松执行它。例如。

if (isset($_SESSION['username'])){
 echo '
+-----------------+---------+-------+
| Student         | Subject | Mark  |
+-----------------+---------+-------+
| John Smith      | Math    | 9     |
+-----------------+---------+-------+
| Mike William    | Math    | 8     |
+-----------------+---------+-------+
';//dont forget to create your table in code
}
else{
 echo '
+-----------------+---------+-------+
| Student         | Subject | Mark  |
+-----------------+---------+-------+
| John Smith      | Math    | N/A   |
+-----------------+---------+-------+
| Mike William    | Math    | N/A   |
+-----------------+---------+-------+
';
}