php - 连接表以检索数据

标签 php mysql

我有三个链接在一起的表。我想做的是为类(class)中的所有学生生成一份成绩单。

表格students_info

name      sex age students_ID
--------- --- --- -----------
Kinsley   M    12           1
Michael   m    12           2
Rhianna   f    22           3

表格scores_panel

1stCA 2ndCA exam students_ID subjectID
----- ----- ---- ----------- ---------
   23    15   42           1         1
   10    12    7           1         2
   43    15   62           1         3
   10    12   27           2         1
   10    12   57           2         2
   23    15   12           2         3
   11    12   27           3         1
   04    12   57           3         2
   13    25   12           3         3

表格主题

subjectname subjectID
----------- ---------
english             1
maths               2
biology             3

我希望我的结果如下所示:

NAME KINSLEY
SEX M
AGE 12

下面是成绩单

subject   1stCA 2ndCA EXAM
--------- ----- ----- ----
english      23    15   42
maths        10    12    7
Biology      43    15   62

...对于所有学生等等

仅检索一个科目和分数,而不是全部

<?php
include("connect.php");

$generate="SELECT students_info.name, subject.subjectname, scores_panel.1stCA, scores_panel.2ndCA, scores_panel.EXAM
FROM
students_info
LEFT JOIN
scores_panel
ON students_info.students_ID=scores_panel.students_ID
LEFT JOIN
subject
ON
subject.subjectID=scores_panel.subjectID ";

$fetch=mysql_query($generate);
while($row=mysql_fetch_array($fetch)or die(mysql_error()))
{
?>
**NAME:** 
<?PHP echo $row['name']; ?>
subject 1stCA 2ndCA EXAM
----------
<?PHP echo $row['subjectname']; ?>
<?PHP echo $row['1stCA']; ?>     
<?PHP echo $row['2ndCA']; ?>   
<?PHP echo $row['EXAM']; ?>

THIS IS YOUR REPORT CARD 
<?PHP } ?>

它有效,但只为每个学生显示一门科目,而不是这样的:

  NAME KINSLEY
    SEX M
    AGE 12

下面是成绩单

subject   1stCA 2ndCA EXAM
--------- ----- ----- ----
english      23    15   42
maths        10    12    7
Biology      43    15   62


  NAME Rhianna 
    SEX F
    AGE 22

下面是成绩单

subject   1stCA 2ndCA EXAM
--------- ----- ----- ----
english      11    12   27
maths        04    12    57
Biology      13    25   12

...对于所有学生等等。

最佳答案

你把这个红了吗? http://dev.mysql.com/doc/refman/5.7/en/join.html

如果您已经了解表连接,那么您必须精确/向我们展示您的问题到底是什么(意味着您的代码的当前状态是什么)

关于php - 连接表以检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18082294/

相关文章:

mysql - 如何在 bash 脚本中捕获 mysqldump 错误?

javascript - 将数组从 JS 传递到 PHP 并创建 SESSION 变量

php - 从 SELECT * FROM users WHERE url = "pretty url"开始,到使用 Lithium Framework 显示数据库中的 1 行

php - 按邮政编码/经度/纬度选择结果

php - MySQL 删除除 NULL 之外的重复行

java - 以最高效的方式使用 JDBC 获取 MySQL 查询返回的结果计数

php - 将 PDF 保存为阿拉伯名称 (PHP)

java - 与 Java 和 PHP 兼容的密码散列

php - 将文本字符串附加到 WooCommerce 产品标题

c# - Entityframework创建新表