我有两个表,一个用于学生详细信息,第二个用于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页面上显示记录。显示个人信息。我可以使用它们来显示主题详细信息。
我正在使用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
您能帮我解决这个问题吗?
答案 0 :(得分:0)
尝试一下:
//assuming your database connection will be in $con
$sql="SELECT * FROM `student` LEFT JOIN stud_marks ON student.s_id=stud_marks.stu_id WHERE student.s_id=1";
$result=mysqli_query($con,$sql);
while($row = $result->fetch_assoc()){
$name=$row['name'];
$mobile=$row['mobile'];
$email=$row['email'];
$marks[]=$row['mark'];
$sub_names[]=$row['sub_name'];
}
$records=count($sub_names);
echo 'Name :'.$name; echo '<br>';
echo 'Mobile :'.$mobile; echo '<br>';
echo 'Email :'.$email; echo '<br>';
echo '------'; echo '<br>';
echo 'Subject Marks'; echo '<br>';
for ($x = 0; $x <= $records; $x++) {
echo "$sub_names[$x] $marks[$x] <br>";
}
echo '------'; echo '<br>';
CodeIgniter示例以提取数据:
$query = $this->db->query("YOUR QUERY");
foreach ($query->result_array() as $row)
{
$name=$row['name'];
$mobile=$row['mobile'];
$email=$row['email'];
$marks[]=$row['marks'];
$sub_names[]=$row['sub_names'];
}
为显示结果,在上一个示例中,从$records=count($sub_names)
开始的代码没有变化。