是否可以将许多MYSQL语句组合成一个查询?

时间:2015-05-20 04:25:39

标签: php mysql

我是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;
&#13;
&#13;

上述代码的结果是数据库表中的所有员工姓名和员工没有先出,然后按表中一行显示的数据库表中的所有成绩,职位和部门进行跟踪。输出不是我想要的顺序。任何人都可以帮我解决我的问题吗?

提前谢谢。

2 个答案:

答案 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()函数。