我有一个输出类列表的 while 循环。在 classes 数据库中,教师姓名由 users 数据库中的教师 ID 确定。
这是我的数据库结构。
Classes Database
-----------------------------
ID CLASS TEACHER
1 product design 3
User Database
-----------------------------
ID NAME
3 John Doe
因此,在列出我的类(class)时,我需要将“3”转换为“John Doe”。
这是我当前的代码:
<?php
$classdetails = mysql_query("SELECT * FROM class");
while($class = mysql_fetch_array($classdetails)) {
$marklist_class = $class['class'];
$marklist_teacher = $class['teacher']; //This is a userid
//------Somewhere here i need to get the userid and look it up in the user database
if($marklist_class=="") {
} else {
echo $marklist_class . ' ' . $marklist_teacher;}
}
}
?>
我知道只在那里放置另一个 mysql 查询会降低性能并且不建议这样做,所以我如何在不向 while 循环中添加查询的情况下查找每一行的用户数据库。
谢谢你。
最佳答案
您可以使用连接查询立即获取您需要的所有信息。然后在您的应用程序中,您可以对其进行排序并相应地显示。
例如
SELECT Classes.class, Users.Name
FROM Classes JOIN Users on Classes.Teacher = Users.ID
关于php - 如何避免在 PHP 的 While 循环中使用 MySQL 查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10917715/