codeigniter表连接

时间:2011-05-17 00:02:57

标签: codeigniter join html-table

我想在1个表中显示user表和users_profiles表: 我想将它们都链接起来,以便usrpID = usrID,

在此过程之前,我尝试使用此代码仅显示用户表,并且效果很好。

控制器:

$data['query'] = $this->db->query('SELECT * FROM users_profiles');
$this->load->view('users/users_view',$data);

查看:

<?php foreach($query->result_array() as $row): ?>
        <tr class="even gradeC">
            <td><?php echo $row['usrID']</td>
            <td><?php echo $row['usrName'];?></td>
        </tr>
<? endforeach; ?>

但是当我尝试连接两个表时,它会返回一个错误:这是我的代码

$this->db->select('users.usrID, users_profiles.usrpID');
$this->db->from('users', 'users_profiles');
$this->db->join('users', 'users.usrID = users_profiles.usrpID');
$result = $this->db->get();

users表包含用户名,密码等字段,每个用户在users_profiles表中都有自己的个人资料

users           users_profiles

users table users_profiles table

编辑我尝试选择字段,但是当我尝试使用

<td><?php echo $row['usrID'];?></td>
            <td><?php echo $row['usrName'];?></td>
            <td><?php echo $row['usrpFirstName'].' '.$row['usrpLastName'];?></td>
            <td><?php echo $row['usrpBday'];?></td>
            <td><?php echo $row['usrpSex'];?></td>
            <td><?php echo $row['usrpAddress'];?></td>    

它返回用户配置文件中第一个不应该

的值

2 个答案:

答案 0 :(得分:25)

users表同时包含fromjoin个函数,总而言之,您加入了3个表:usersusers和{{1} } - &gt; 2首先具有相同的名称 - &gt; 错误唯一/别名表

试试这个(加入users_profiles中[{1}}] users中的{from}:

users_profiles

编辑:

示例:

获取join $this->db->select('users.usrID, users_profiles.usrpID') ->from('users') ->join('users_profiles', 'users.usrID = users_profiles.usrpID'); $result = $this->db->get(); 列:

users_profiles

视图:

userpNick

答案 1 :(得分:2)

您可以在员工和地址表中参考此结果示例。

function getEmployees(){
  $this->db->select("trn_employee.EMPLOYEE_ID,trn_employee.FIRST_NAME,trn_employee.LAST_NAME,trn_employee.EMAIL,trn_address.ADDRESS_LINE,trn_address.CITY");
  $this->db->from('trn_employee');
  $this->db->join('trn_address', 'trn_address.employee_id = trn_employee.employee_id');
  $query = $this->db->get();
  return $query->result();
 }