好的,我需要一些帮助,将其重新制作以正确格式化ir。

我有以下代码:
(这正在访问数据库中称为“学生”的表。)

<?php
require_once('connection.php');
$id = $_SESSION['SESS_MEMBER_ID'];
$result3 = mysql_query("SET NAMES UTF8;");
$result3 = mysql_query("SELECT * FROM students where mem_id='$id'");

while($row3 = mysql_fetch_array($result3))
{
    $fname = $row3['fname'];
    $country = $row3['country'];
    $class = $row3['class'];
    $headteacher = $row3['headteacher'];
    $attendance = $row3['attendance'];
    $homework = $row3['homework'];
    $messagestudent = $row3['messagestudent'];
}
?>


<?php
if($class=='K1')
    echo "teacher 1";
else if($class=='K2')
    echo "teacher 2";
else if($class=='K3')
    echo "teacher 3";
?>


在另一张表中,我有老师的名字和需要做的事,而我找不到正确的方法,是在查询确认查询到的K1,K2或K3数据后,从表“ teachers”中调用老师的名字。 “学生”表中的“班级”列。

基本上,我需要的是更改回显部分的内容,例如将其从需要在代码内的静态数据切换到包含在另一个表中的数据。这两个表都有一个称为“班级”的列,因此,如果学生的班级列说“ K1”,我希望它去检查“教师”表的列“班级”,然后选择与“ K1”匹配的列并显示在结果回显,我敢肯定这是可能的,但是我目前的技能水平还没有。

学生的表结构为:

mem_id, username, password, fname, country, class, attendance, homework, messagestudent


教师的表结构为:

mem_id, class, name, comment


希望你们对我有所启发!

提前致谢。

PS。我知道查询使用的是不推荐使用的mysql_,但是当我尝试按照指南将其更改为mysqli_时,它永远无法工作。

最佳答案

据我了解,您可以通过此查询获得所需的数据(无需JOIN或if语句):

SELECT students.*,teachers.name FROM students,teachers WHERE students.id='$id' AND students.class = teachers.class


它在同一行中根据学生班级返回教师姓名。

关于php - 使用“if-else”从同一数据库中的两个表读取数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31420821/

10-09 01:00
查看更多