我需要帮助初学者在php和我的sql中,我想检索在每个级别注册的所有学生姓名(1 OR 2 OR 3或4)这是我的代码。
<form id="form1" name="form1" method="post" action="">
<table border="1" align="center" class="tftable">
<?php
$lvlid = $_GET['id'];
$sql2 = "select * from `course` where acadlevel='$lvlid' ";
$res2= mysql_query($sql2,$con_mark_entry);
while($row2 = mysql_fetch_row($res2))
{?>
<?php } ?>
<tr>
<th id="h7">Serial NO.</th>
<th id="h7">Student NO.</th>
<th id="h7">Student Name</th>
</tr>
<?php
$s=1;
$sql ="SELECT student.stud_id,student.stud_name, course.title, enrollment.grade FROM student, course, enrollment WHERE course.acadlevel ='".$_GET['id'] ."' AND course.code = enrollment.code AND student.stud_id = enrollment.stud_id";
$res= mysql_query($sql,$con_mark_entry);
while($row1 = mysql_fetch_row($res)){
?>
<tr>
<td><?php echo $s?> </td>
<td><?php echo $row1[0]?></td>
<td id="name"><a href="report6.php?id=<?php echo $row1[1]?>"> <?php echo $row1[1]?> </td>
</tr>
<?php
$s++;
}
?>
</table>
我的问题是例如,如果学生在1级注册三门课程,他会出现三次,我想删除这个重复。怎么样?
结果如下:
序列没有学生没有学生姓名 1 101 adam nagdy 2 101 adam nagdy 3 101 adam nagdy 4 102 shima najm提前致谢
答案 0 :(得分:0)
使用DISTINCT
关键字。它会删除重复的结果行。
搜索&#34; distinct&#34;在此page。
SELECT DISTINCT std.stud_id,std.stud_name, enr.grade -- , crs.title
FROM student std
LEFT OUTER JOIN enrollment enr ON std.stud_id = enr.stud_id
LEFT OUTER JOIN course crs ON crs.code = enr.code
WHERE course.acadlevel ='YOUR_ID'
并使用JOIN
加入。 ;)它比加入WHERE
更好(即使它有效)。
答案 1 :(得分:0)