如果用户需要,请隐藏列

时间:2015-03-28 10:34:23

标签: php mysql

这可能有一个超级简单的解决方案,但我无法绕过它。

我有这个SQL查询:

SELECT traning.type_name,users.user_id,
      users.user_name,user_traning.min_puls,
      user_traning.medel_puls,user_traning.max_puls,
      user_traning.duration,user_traning.date, user_traning.view
      from traning inner join user_traning 
      on traning.tr_id=user_traning.tr_id
      inner join users on user_traning.user_id=users.user_id 
      ORDER BY `user_traning`.`date` DESC

我在user_traning中有一个名为view的列。

输入表单输入null2。我认为NULL意味着每个人都可以查看输入,而2是用户想要隐藏输入。

我一直在尝试这种方式:

while($row = $users_traning->fetchObject())
     {
        if($row->user_id == $_SESSION['user_id'] && $row->view == NULL)
        {
echo '<span class="glyphicon glyphicon-user"></span> <a href="userinfo.php='.$row->user_id.'">You </a> have ' .$row->type_name. ' for ' .round($minuter,2). ' min';
echo '<br>';
        }else{        
echo '<span class="glyphicon glyphicon-globe"></span> <a href="userinfo.php='.$row->user_id.'">'.$row->user_name.' </a> has been ' .$row->type_name. ' i ' .round($minuter,2). ' for';
    echo '<br>';
}}

正如你所看到的;如果用户选择隐藏其输入(插入2),则行与glyphicon-user一起显示,如果没有,则显示为glyphicon-globe。

除了在列视图中插入2的其他用户的行外,我想输出所有内容。但我的“自己的”行仍然显示相应的字形。

我该怎么做?

非常感谢!

1 个答案:

答案 0 :(得分:0)

假设user1已登录..

while($row = $users_traning->fetchObject())
{
    if($row->user_id == $_SESSION['user_id']){ //For user1 

        $glyphicon = (empty($row->view)) ? 'user' : 'globe' ; // if $row->view is null 'user' is assigned else 'globe'

        echo '<span class="glyphicon glyphicon-'.$glyphicon.'"></span> <a href="userinfo.php='.$row->user_id.'">You </a> have ' .$row->type_name. ' for ' .round($minuter,2). ' min';
                echo '<br>';


    }elseif($row->user_id != $_SESSION['user_id'] && empty($row->view)){ // For user2

        echo '<span class="glyphicon glyphicon-globe"></span> <a href="userinfo.php='.$row->user_id.'">'.$row->user_name.' </a> has been ' .$row->type_name. ' i ' .round($minuter,2). ' for';
                echo '<br>';

    }
}