这里我有一个视图文件,我可以看到信息。它工作得很好。但我想看到视图作为登录人。假如男性登录他将看到女性信息。女性和男性一样。我怎么能这样做?我在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>
答案 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) ; }
您的会话设置和检查应该在控制器中进行 - 而不是视图。