0

我有三张桌子

student_details

   1.ID
   2.studentname
   3.deptname
   4.deptcode

  login_details

   1.id
   2.username
   3.password
   4.deptcode

 dept_details
   1.id
   2.deptcode
   3.deptname

从这些表中,我需要检查 login_details 表中的用户名和密码,并通过检查值作为 student_details.deptcode==login_details.deptcode 和 dept_details.deptcode==student_details.deptcode ..这些概念另外从 dept_details 表中检索一个部门名称那么我如何在codeigniter中实现这些步骤请帮助某人..提前致谢

4

2 回答 2

0

在 codeigniter 中,您可以使用Active Records来执行此操作,也可以通过传递您的自定义查询,例如

$username="test";
$password="password";
$query="SELECT dd.deptname,sd.studentname FROM dept_details dd
INNER JOIN login_details ld ON  (dd.deptcode = ld.deptcode)
INNER JOIN student_details sd ON  (ld.deptcode = sd.deptcode)
WHERE ld.username='".$username."' AND ld.password='".$password."' ";
$result=$this->db->query($query)->result();

或者

$this->db->select('dd.deptname,sd.studentname');
$this->db->from('dept_details dd');
$this->db->join('login_details ld', 'dd.deptcode = ld.deptcode');
$this->db->join('student_details sd', 'd.deptcode = sd.deptcode');
$this->db->where('ld.username', $username);
$this->db->where('ld.password', $password);
$result = $this->db->get();

并确保您已将database库加载到autoload.php类似 $autoload['libraries'] = array("database");

这是Active Record的帮助 希望它有意义

于 2013-06-24T09:33:55.860 回答
-2

student_detailslogin_details应该是一张表。一个用户可以有多个登录详细信息吗?@tomexsans 是对的,因为“student_id”是您的唯一 ID,您应该使用该 ID 连接您的表格。

我在考虑这个结构:

学生

student_id
student_name
username
password
dept_id

dept_details

dept_id
dept_code
dept_name
于 2013-06-24T08:12:30.030 回答