我是PHP和MySQL的初学者,我还在学习过程中。 是否可以将许多MySQL语句组合成一个查询? 这是因为我想将每个新输出显示到表中的新行中。 下面的编码不是像我想要的那样显示输出的正确方法。
<table>
<tr>
<th>Staff Name</th>
<th>Staff No.</th>
<th>Grade</th>
<th>Position</th>
<th>Department</th>
</tr>
<tr>
<?php
$query="select staffName, staffNo from tblstaff";
$result=mysql_query($query) or die (mysql_error());
while($row= mysql_fetch_array($result))
{
?>
<td><?php echo $row['staffName']; ?></td>
<td><?php echo $row['staffNo']; ?></td>
<?php
}
?>
<?php
$query="select grade, gradePosition, gradeDepartment from tblgrade";
$result=mysql_query($query) or die (mysql_error());
while($row= mysql_fetch_array($result))
{
?>
<td><?php echo $row['grade']; ?></td>
<td><?php echo $row['gradePosition']; ?></td>
<td><?php echo $row['gradeDepartment']; ?></td>
<?php
}
?>
</tr>
</table>
&#13;
上述代码的结果是数据库表中的所有员工姓名和员工没有先出,然后按表中一行显示的数据库表中的所有成绩,职位和部门进行跟踪。输出不是我想要的顺序。任何人都可以帮我解决我的问题吗?
提前谢谢。
答案 0 :(得分:0)
两种选择, INNER和LEFT连接可以连接两个表格togeather。
INNER JOIN仅在两个表中都存在记录数据时显示结果, IE,只有职位和部门的员工。
LEFT JOIN将获得所有员工,并填写其他表信息(如果可用)。
SELECT staffName, s.staffNumber, grade, gradePosition, gradeDepartment
FROM tblstaff s
(INNER/OR/LEFT) JOIN tblgrade g on s.staffNumber = g.staffNumber
这个解决方案需要两个表之间的关系,如果它们是相关的,它们应该具有这种关系。
答案 1 :(得分:-1)
是的,这是可能的。使用mysqli_multi_query()函数。