我怎么能避免在PHP的While循环中使用MySQL查询

jos*_*krz 4 php mysql database loops while-loop

我有一个输出类列表的while循环.在类数据库中,教师名称由用户数据库中的教师ID确定.

这是我的数据库结构.

Classes Database
-----------------------------
ID       CLASS              TEACHER
1        product design     3

User Database
-----------------------------
ID       NAME
3        John Doe
Run Code Online (Sandbox Code Playgroud)

因此,当列出我的类时,我需要它将"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;}
    }
  }
?>
Run Code Online (Sandbox Code Playgroud)

我理解只是放入另一个mysql查询会降低性能并且不建议,所以如何在不向while循环中添加查询的情况下查找每行的用户数据库.

谢谢.

Vin*_*nie 5

您可以使用连接查询来获取一次所需的所有信息.然后在您的应用程序中,您可以对其进行排序并相应地显示 例如

SELECT Classes.class, Users.Name
FROM Classes JOIN Users on Classes.Teacher = Users.ID
Run Code Online (Sandbox Code Playgroud)