【发布时间】:2019-06-26 18:44:11
【问题描述】:
我有两张表,一张用于学生详细信息,第二张用于 stud_marks。
我在学生表中插入个人信息
s_id | name | mobile | email
1 | asdff |1234567831 |asd@gmail.com
2 | kjhgg |1231231231 |mnhg@gmail.com
<!--many more-->
我正在插入学生标记,例如
m_id |sub_name |mark | stu_id |date_of_added
1 |asdasd |30 | 1 |2019-06-16 17:31:07
2 |oiuytr |40 | 1 |2019-06-16 17:31:07
3 |okjhyt |50 | 2 |2019-06-20 20:12:09
4 |ppoiuj |60 | 1 |2019-06-22 11:41:34
<!--many more-->
现在,我必须使用什么查询并显示单个记录。就像我必须显示学生 1 记录一样。所以我的预期输出是
s_id | name | mobile | email
1 | asdff |1234567831 |asd@gmail.com
m_id |sub_name |mark | stu_id |date_of_added
1 |asdasd |30 | 1 |2019-06-16 17:31:07
2 |oiuytr |40 | 1 |2019-06-16 17:31:07
4 |ppoiuj |60 | 1 |2019-06-22 11:41:34
我在编辑页面上,我必须在那里显示类似的记录
name:-asdff
mobile:-1234567831
Email:-asd@gmail.com
<!--subject details-->
Sub_name Mark
asdasd 30
oiuytr 40
ppoiuj 60
我可以在 HTML 页面上显示记录。显示个人信息。我可以使用 for each 来显示主题详细信息。
我正在使用 CodeIgniter。
我尝试了以下查询,但得到 3 条记录。
SELECT * FROM `student` LEFT JOIN stud_marks ON student.s_id=stud_marks.stu_id WHERE student.s_id=1
查询的输出是
1 asdff 1234567831 asd@gmail.com 1 asdasd 30 1 2019-06-16 17:31:07
1 asdff 1234567831 asd@gmail.com 2 asdasd 40 1 2019-06-16 17:31:07
1 asdff 1234567831 asd@gmail.com 4 asdasd 60 1 2019-06-22 11:41:34
你能帮我解决这个问题吗?
【问题讨论】:
-
那么问题出在哪里?您正在为 s_id=1 使用 WHERE 子句,因此该 s_id 有 3 条记录,而您作为查询结果获得的记录。你的预期输出是什么?我们可以相应地修改查询。
-
@RajeshKakkad,感谢您的回复。我已经在问题中添加了我的预期输出。请检查代码的第三部分。
-
您提到的代码按预期返回输出。您是否需要在示例中提到的显示记录方面的帮助,或者您对查询返回的数据有任何问题?
-
我必须对查询提出问题,因为如果您检查我得到 3 条正确的记录,因为我曾经加入,并且我有 3 条与学生标记中的 id 1 相关的记录。现在我如何在编辑页面上显示,因为学生个人详细信息是唯一的,但学生标记不止一个。
标签: php mysql codeigniter-3