【问题标题】:showing specific data in view file在视图文件中显示特定数据
【发布时间】:2015-02-24 19:57:01
【问题描述】:

在这里我有一个视图文件,我可以在其中查看信息。它工作得很好。但我想以登录人的身份查看视图。假设如果男性登录,他会看到女性信息。女性和男性一样。我该怎么做?我在 codeigniter 中这样做。

main.php //控制器

public function viewStd(){

        $data=array();
        $this->load->model('signup_model');
        $data['query1']=$this->signup_model->viewData();
        $this->load->view('view_std',$data);


    }

signup_model.php // 模型

 public function viewData(){

        $query=$this->db->get('std_info');
        return $query->result();


    }

view.php //查看

    <?php
 session_start();

if(!$this->session->userdata('id')){ //Here is the session start.
        redirect("login/checkLogin");}
?>
<table border="1">
    <tr><td>Name</td><td>Phone</td><td>Email</td></tr>
    <?php 
foreach ($query1 as $student){
    //echo "<pre>";
    //print_r($student);
?>
    <tr><td><?php echo $student->name?></td><td><?php echo $student->phone?></td>
    <td><?php echo $student->email?></td>
    </tr>
    <?php }?>
</table>

【问题讨论】:

  • 不清楚你要什么。
  • 我想将数据显示为异性。如果男性登录,他会看到女性信息。如果女性登录,她会看到男性信息。在上面的这个文件夹中,我可以看到两者。

标签: html mysql codeigniter model


【解决方案1】:

你说

我想将数据显示为异性。如果男性登录他 将看到女性信息。如果女性登录,她将看到男性 信息。

在控制器中执行此操作。检查性别,然后调用适当命名的方法。

if( $person->gender == 'male'){

  $this->showFemales($query1) ; } 

else {  $this->showMales($query1) ; } 

您的会话设置和检查应该在控制器中进行,而不是在视图中。

【讨论】:

    【解决方案2】:

    首先,您需要将用户数据(登录用户)保留在会话中,并假设您使用了 CodeIgniter session class。在您的登录中,如果登录用户是男性或女性,您应该保留数据。例如
    $this-&gt;session-&gt;setuserdata(Array('user_sex'=&gt;$row['sex']));

    现在在您的 viewData() 模型函数中,您应该使用 where 子句来获取您的预期数据like
    $sex= $this-&gt;session-&gt;userdata('user_sex')=='male':'female'?'male';
    $query = $this-&gt;db-&gt;get_where('mytable', array('sex' =&gt; $sex)); 这应该会为您提供要在视图中显示的确切结果集。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-23
      • 1970-01-01
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-09
      相关资源
      最近更新 更多