有没有办法可以使用 sub_name 而不是 sub_id?
这是我的代码..
echo "<table border=1 align=center><tr class=style2><td>Date<td>Student Name <td> Subject <td> Score";
$sortQuery = mysql_query("select * from mst_adminresult",$cn) or die(mysql_error());
while($row=mysql_fetch_row($sortQuery))
{
echo "<tr class=style8><td>$row[5]<td>$row[1] <td align=center> $row[4] <td align=center> $row[3]/20";
}
echo "</table>";
此代码显示所有考试的结果。在 Subject
中,其输出是主题 ID。我只是想知道是否有什么方法可以获得它的主题名称。主题名称在不同的表中。
adminresult_tbl
CREATE TABLE `mst_adminresult` (
`adminResultID` int(5) NOT NULL,
`login` varchar(20) NOT NULL,
`test_id` varchar(20) NOT NULL,
`score` int(3) NOT NULL,
`test_date` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
主题_tbl
CREATE TABLE `mst_subject` (
`sub_id` int(5) NOT NULL,
`sub_name` varchar(25) DEFAULT NULL,
`sub_desc` text
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
测试_tbl
CREATE TABLE `mst_test` (
`test_id` int(5) NOT NULL,
`sub_id` int(5) DEFAULT NULL,
`test_name` varchar(30) DEFAULT NULL,
`total_que` varchar(15) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
程序的流程是,当用户参加考试时,用户将被重定向到列出所有科目的页面,然后用户选择她想要参加的科目,之后会出现一个列表测试将显示,然后用户将再次选择,此时用户可以进行测验。
在主题列表中,我将其称为subject_tbl
。在测试列表中,test_tbl
.当用户完成考试后,它将存储在adminresult_tbl
最佳答案
连接 3 个表。试试这个:
SELECT * FROM mst_adminresult m
JOIN test_tbl t ON t.test_id = m.test_id
JOIN subject_tbl s ON s.sub_id = t.sub_id;
关于php - 获取MySQL不同表中的对应列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37360183/