在视图文件中显示特定数据

时间:2014-12-28 09:28:03

标签: html mysql codeigniter model

这里我有一个视图文件,我可以看到信息。它工作得很好。但我想看到视图作为登录人。假如男性登录他将看到女性信息。女性和男性一样。我怎么能这样做?我在codeigniter做这个。

main.php // controller

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 // model

 public function viewData(){

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


    }

view.php // view

    <?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>

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

你说

  

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

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

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

  $this->showFemales($query1) ; } 

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

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