부서의 학생 결과를 표시해야하는 테이블이 있습니다. 테스트 매트 번호를 작성하고 점수를 할당했습니다. 8 레벨 중 8 레벨을 400 레벨로 가정하면 8 명의 학생 중 3 명이 이월하지 않으며 다른 5 명의 학생은 이월됩니다. 이 테이블은 8 명의 학생들이 등록한 뚜렷한 코스를 해당 점수와 함께 보여 주기로되어 있습니다. 특정 코스가 등록되지 않은 경우 기본값을 표시해야합니다. MySQl 테이블의 기본 결과가 표시되지 않음
원하는 결과는 아래 그림과 같습니다 :
다음 은 아래 이미지는 내가 무엇을 얻을의 결과를 보여줍니다이 결과<?php
require_once "scripts/connect_to_mysql.php";
$sq = mysql_query("SELECT DISTINCT course_code FROM tbl_result_400");
//$r = mysql_fetch_assoc($sq);
$k = 1;
echo "<table border = 1 bgcolor = 'white' class='member_tableheader'><tr>";
echo "<td width = '50px' align='left' valign='top'>COURSES<BR>UNITS</td>";
while ($r = mysql_fetch_assoc($sq)){
$v=$r['course_code'];
$sq1 = mysql_query("SELECT course_unit FROM tbl_result_400 WHERE course_code = '$v'");
$rr = mysql_fetch_assoc($sq1);//$v = "sup";
echo "<td width = '100px' align='center' valign='top'>".$r['course_code']."<BR>"."(".$rr['course_unit'].")"."<BR>"."</td>";
++$k;
}
echo "</tr>";
echo "<tr>";
$sq2 = mysql_query("SELECT DISTINCT matric_no FROM tbl_registered_courses_400 ORDER BY matric_no");
$rrr = mysql_fetch_assoc($sq2);
do{
$vv = $rrr['matric_no']; $t = 1;
$sq4 = mysql_query("SELECT * FROM tbl_result_400 where matric_no = '$vv'");
$n = mysql_num_rows($sq4);
$sq3 = mysql_query("SELECT score FROM tbl_result_400 where matric_no = '$vv'");
echo "<td width = '100px' align='center' valign='top'>".$vv."</td>";
while($rs = mysql_fetch_assoc($sq3)){
if($t <= $n){
if(empty($rs['score'])){
$emptyScore = " --- ";
echo "<td width = '100px' align='center' valign='top'>".$emptyScore."</td>";
}else{
echo "<td width = '100px' align='center' valign='top'>".$rs['score']."</td>";
}
};
if($t == $n){echo "<tr>";}
/*if($t > $n){
echo "<td width = '100px' align='center'
valign='top'>".$rs['score']."</td>";
}*/
++$t;
}
}while($rrr = mysql_fetch_assoc($sq2));
echo "</tr>";
echo "</tr>";
echo "</table>";
?>
을 달성하기위한 샘플 스크립트입니다
위의 이미지에서 matric_no 03/55ec101 학생은 코스 PHY 152에 등록하지 않았으며 따라서 디파가 없었 음을 보여줍니다 PHY 152.
06/55ec101의 학생은 PHY152를 제외한 모든 코스에서 점수를 얻지 못했을 것입니다. 대시의 기본 점수에서 코드를 수정하지 못했습니다.
친절하게 도와주세요. 다음은
는 별개의 matric 번호에 대한 샘플 SQL이다 :--
-- Table structure for table `tbl_registered_courses_400`
--
CREATE TABLE IF NOT EXISTS `tbl_registered_courses_400` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`matric_no` varchar(15) NOT NULL,
`course_code` varchar(15) NOT NULL,
`course_unit` varchar(15) NOT NULL,
`semester_registered` varchar(6) NOT NULL,
`session_registered` varchar(15) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=19 ;
--
-- Dumping data for table `tbl_registered_courses_400`
--
INSERT INTO `tbl_registered_courses_400` (`id`, `matric_no`, `course_code`, `course_unit`, `semester_registered`, `session_registered`) VALUES
(1, '03/55ec101', 'CSC 402', '6', '1', '2015/2016'),
(2, '03/55ec101', 'CSC 499', '3', '1', '2015/2016'),
(3, '03/55ec101', 'CHM 401', '3', '1', '2015/2016'),
(4, '03/55ec101', 'CSC 470', '2', '1', '2015/2016'),
(5, '03/55ec101', 'CSC 414', '3', '1', '2015/2016'),
(6, '03/55ec101', 'CSC 411', '2', '1', '2015/2016'),
(7, '03/55ec101', 'CSC 403', '3', '1', '2015/2016'),
(8, '03/55ec101', 'BLY 401', '2', '1', '2015/2016'),
(9, '03/55ec101', 'PHY 152', '3', '1', '2015/2016'),
(10, '06/55ec101', 'CSC 402', '6', '1', '2015/2016'),
(11, '06/55ec101', 'CSC 499', '3', '1', '2015/2016'),
(12, '06/55ec101', 'CHM 401', '3', '1', '2015/2016'),
(13, '06/55ec101', 'CSC 470', '2', '1', '2015/2016'),
(14, '06/55ec101', 'CSC 414', '3', '1', '2015/2016'),
(15, '06/55ec101', 'CSC 411', '2', '1', '2015/2016'),
(16, '06/55ec101', 'CSC 403', '3', '1', '2015/2016'),
(17, '06/55ec101', 'BLY 401', '2', '1', '2015/2016'),
(18, '06/55ec101', 'PHY 152', '3', '1', '2015/2016');
그리고 여기에 결과 테이블에 대한 SQL의 : 같은 내가 얻을 수있는 방법에
--
-- Table structure for table `tbl_result_400`
--
CREATE TABLE IF NOT EXISTS `tbl_result_400` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`department_id` int(11) NOT NULL,
`matric_no` varchar(15) NOT NULL,
`session` varchar(15) NOT NULL,
`semester` varchar(15) NOT NULL,
`level` varchar(10) NOT NULL,
`course_code` varchar(10) NOT NULL,
`course_unit` varchar(10) NOT NULL,
`ca` varchar(4) NOT NULL,
`exam` varchar(4) NOT NULL,
`score` varchar(10) NOT NULL,
`grade` varchar(2) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=52 ;
--
-- Dumping data for table `tbl_result_400`
--
INSERT INTO `tbl_result_400` (`id`, `department_id`, `matric_no`, `session`, `semester`, `level`, `course_code`, `course_unit`, `ca`, `exam`, `score`, `grade`) VALUES
(1, 2, '03/55EC101', '2015/2016', '1', '400', 'CSC 499', '3', '', '', '51', ''),
(2, 2, '06/55EJ101', '2015/2016', '1', '400', 'CSC 499', '3', '', '', '69', ''),
(3, 2, '06/55EJ102', '2015/2016', '1', '400', 'CSC 499', '3', '', '', '60', ''),
(4, 2, '06/55EJ103', '2015/2016', '1', '400', 'CSC 499', '3', '', '', '54', ''),
(5, 2, '06/55EJ104', '2015/2016', '1', '400', 'CSC 499', '3', '', '', '73', ''),
(6, 2, '03/55EC101', '2015/2016', '1', '400', 'CSC 470', '3', '', '', '72', ''),
(7, 2, '06/55EJ101', '2015/2016', '1', '400', 'CSC 470', '3', '', '', '68', ''),
(8, 2, '06/55EJ102', '2015/2016', '1', '400', 'CSC 470', '3', '', '', '87', ''),
(9, 2, '06/55EJ103', '2015/2016', '1', '400', 'CSC 470', '3', '', '', '53', ''),
(10, 2, '06/55EJ104', '2015/2016', '1', '400', 'CSC 470', '3', '', '', '45', ''),
(11, 2, '03/55EC101', '2015/2016', '1', '400', 'CSC 414', '2', '', '', '55', ''),
(12, 2, '06/55EJ101', '2015/2016', '1', '400', 'CSC 414', '2', '', '', '65', ''),
(13, 2, '06/55EJ102', '2015/2016', '1', '400', 'CSC 414', '2', '', '', '76', ''),
(14, 2, '06/55EJ103', '2015/2016', '1', '400', 'CSC 414', '2', '', '', '59', ''),
(15, 2, '06/55EJ104', '2015/2016', '1', '400', 'CSC 414', '2', '', '', '77', ''),
(16, 2, '03/55EC101', '2015/2016', '1', '400', 'CSC 411', '2', '', '', '56', ''),
(17, 2, '06/55EJ101', '2015/2016', '1', '400', 'CSC 411', '2', '', '', '65', ''),
(18, 2, '06/55EJ102', '2015/2016', '1', '400', 'CSC 411', '2', '', '', '66', ''),
(19, 2, '06/55EJ103', '2015/2016', '1', '400', 'CSC 411', '2', '', '', '76', ''),
(20, 2, '06/55EJ104', '2015/2016', '1', '400', 'CSC 411', '2', '', '', '67', ''),
(21, 2, '03/55EC101', '2015/2016', '1', '400', 'CSC 403', '3', '', '', '66', ''),
(22, 2, '06/55EJ101', '2015/2016', '1', '400', 'CSC 403', '3', '', '', '65', ''),
(23, 2, '06/55EJ102', '2015/2016', '1', '400', 'CSC 403', '3', '', '', '68', ''),
(24, 2, '06/55EJ103', '2015/2016', '1', '400', 'CSC 403', '3', '', '', '79', ''),
(25, 2, '06/55EJ104', '2015/2016', '1', '400', 'CSC 403', '3', '', '', '90', ''),
(26, 2, '03/55EC101', '2015/2016', '1', '400', 'CSC 402', '4', '', '', '65', ''),
(27, 2, '06/55EJ101', '2015/2016', '1', '400', 'CSC 402', '4', '', '', '72', ''),
(28, 2, '06/55EJ102', '2015/2016', '1', '400', 'CSC 402', '4', '', '', '48', ''),
(29, 2, '06/55EJ103', '2015/2016', '1', '400', 'CSC 402', '4', '', '', '80', ''),
(30, 2, '06/55EJ104', '2015/2016', '1', '400', 'CSC 402', '4', '', '', '69', ''),
(31, 2, '03/55EC101', '2015/2016', '2', '400', 'CSC 498', '6', '', '', '61', ''),
(32, 2, '06/55EJ101', '2015/2016', '2', '400', 'CSC 498', '6', '', '', '55', ''),
(33, 2, '06/55EJ102', '2015/2016', '2', '400', 'CSC 498', '6', '', '', '59', ''),
(34, 2, '06/55EJ103', '2015/2016', '2', '400', 'CSC 498', '6', '', '', '52', ''),
(35, 2, '06/55EJ104', '2015/2016', '2', '400', 'CSC 498', '6', '', '', '60', ''),
(36, 2, '03/55EC101', '2015/2016', '2', '400', 'CSC 419', '4', '', '', '72', ''),
(37, 2, '06/55EJ101', '2015/2016', '2', '400', 'CSC 419', '4', '', '', '62', ''),
(38, 2, '06/55EJ102', '2015/2016', '2', '400', 'CSC 419', '4', '', '', '45', ''),
(39, 2, '06/55EJ103', '2015/2016', '2', '400', 'CSC 419', '4', '', '', '37', ''),
(40, 2, '06/55EJ104', '2015/2016', '2', '400', 'CSC 419', '4', '', '', '50', ''),
(41, 2, '03/55EC101', '2015/2016', '2', '400', 'MAT 412', '3', '', '', '56', ''),
(42, 2, '06/55EJ101', '2015/2016', '2', '400', 'MAT 412', '3', '', '', '45', ''),
(43, 2, '06/55EJ102', '2015/2016', '2', '400', 'MAT 412', '3', '', '', '46', ''),
(44, 2, '06/55EJ103', '2015/2016', '2', '400', 'MAT 412', '3', '', '', '57', ''),
(45, 2, '06/55EJ104', '2015/2016', '2', '400', 'MAT 412', '3', '', '', '67', ''),
(46, 2, '03/55EC101', '2015/2016', '2', '400', 'CSC 412', '3', '', '', '67', ''),
(47, 2, '06/55EJ101', '2015/2016', '2', '400', 'CSC 412', '3', '', '', '55', ''),
(48, 2, '06/55EJ102', '2015/2016', '2', '400', 'CSC 412', '3', '', '', '60', ''),
(49, 2, '06/55EJ103', '2015/2016', '2', '400', 'CSC 412', '3', '', '', '69', ''),
(50, 2, '06/55EJ104', '2015/2016', '2', '400', 'CSC 412', '3', '', '', '59', ''),
(51, 0, '06/55EC101', '2015/2016', '1', '400', 'PHY 152', '3', '20', '58', '78', 'A');
내가 어떤 유용한 단서를 부탁드립니다 결과는 두 번째 이미지에 나타납니다. 감사합니다. .
. 당신의 문제는 정확히 무엇입니까? – feeela
새로운 코드를 작성하기 위해 mysql_ * 함수를 사용하지 마십시오. 더 이상 유지 관리되지 않으며 커뮤니티가 [지원 중단 프로세스] (http://goo.gl/KJveJ)를 시작했습니다. [* 빨간색 상자 *] (http://goo.gl/GPmFd)를 참조하십시오. 대신 [prepared statements] (http://goo.gl/vn8zQ)에 대해 알아야하고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용해야합니다. mysqli). 어떤 것을 결정할 수 없다면 [이 기사] (http://goo.gl/3gqF9)가 도움이 될 것입니다. PDO를 선택하면 [여기는 좋은 가이드입니다] (http://goo.gl/vFWnC). –