Php 我想在HTML表中显示来自不同DB表的内容

Php 我想在HTML表中显示来自不同DB表的内容,php,html,database,mysqli,Php,Html,Database,Mysqli,我想展示参加课程的人的内容。 我现在显示的是课程成员的姓名和电子邮件。 这样,我想从数据库中的另一个DB表中显示课程。 在表curist中,我有以下内容: id INT(4) 纳姆·瓦尔查尔(255) 电子邮件VARCHAR(255) 至于cursus表,我有以下内容: cid INT(4) cursus VARCHAR(255) 我现在有这个密码 <?php $sql = "SELECT * FROM cursist"; $res = $db->q

我想展示参加课程的人的内容。 我现在显示的是课程成员的姓名和电子邮件。 这样,我想从数据库中的另一个DB表中显示课程。 在表
curist
中,我有以下内容: id INT(4) 纳姆·瓦尔查尔(255) 电子邮件VARCHAR(255) 至于
cursus
表,我有以下内容: cid INT(4) cursus VARCHAR(255)

我现在有这个密码

        <?php 
    $sql = "SELECT * FROM cursist";
    $res = $db->query($sql);

    if ($res->num_rows > 0) {
      while($row = $res->fetch_assoc()) {
        echo "<tr><td>" .$row["cursus"]. "</td><td>" . "<a href=\"editcursus.php?cid=$row[cid]\">Wijzig</a>" . "</td></tr>";
        } 
      } else {
        echo "0 Resultaten gevonden";
      }
    $db->close();
    ?>

我尝试过使用“内部联接”,但在我尝试它时,它不起作用,如果有人能帮我解决这个问题,我会很高兴的

问题是,我如何让它从不同的数据库中运行 表以相同的HTML格式显示在我的网页上

亲切问候,,
标记。

看看SQL连接,这可能会对您有所帮助

关于您的主要问题,SQL查询应该可以工作。 select*和INTERNAR联接在大多数情况下不起作用,因为您必须从数据库中指定所需的字段:

SELECT CURSIST.id,
      CURSIST.naam,
      CURSIST.email,
      CURSUS.cursus
FROM CURSIST 
INNER JOIN CURSUS 
     ON CURSIST.id=CURSUS.cid;
我看不出整个问题/需要的东西,但我想您的数据库布局可能缺少一个表

如果我认为这是正确的,您有两个表:

CURSIST(id,naam,email)
CURSUS(id,cursus)
一个光标可以有多个光标,而一个光标可以有多个光标。 所以你应该在cursist和cursus之间有一张桌子。如果为此创建一个表,则可以求解这两者之间的N:M解
DEELNEMERS(游标id,游标id)

那么查询将是:

SELECT CURSIST.id,
       CURSIST.naam,
       CURSIST.email,
       CURSUS.cursus
 FROM CURSIST 
 INNER JOIN DEELNEMERS
      ON CURSIST.id=DEELNEMERS.cursist_id;
 INNER JOIN CURSUS
      ON DEELNEMERS.cursus_id=CURSUS.id;
有关连接的有用链接:

  • @更新:@Mark_Ed我曾经评论过你的代码,希望这对你有所帮助

    编辑方法:


    看看SQL连接,这可能会对您有所帮助

    关于您的主要问题,SQL查询应该可以工作。 select*和INTERNAR联接在大多数情况下不起作用,因为您必须从数据库中指定所需的字段:

    SELECT CURSIST.id,
          CURSIST.naam,
          CURSIST.email,
          CURSUS.cursus
    FROM CURSIST 
    INNER JOIN CURSUS 
         ON CURSIST.id=CURSUS.cid;
    
    我看不出整个问题/需要的东西,但我想您的数据库布局可能缺少一个表

    如果我认为这是正确的,您有两个表:

    CURSIST(id,naam,email)
    CURSUS(id,cursus)
    
    一个光标可以有多个光标,而一个光标可以有多个光标。 所以你应该在cursist和cursus之间有一张桌子。如果为此创建一个表,则可以求解这两者之间的N:M解
    DEELNEMERS(游标id,游标id)

    那么查询将是:

    SELECT CURSIST.id,
           CURSIST.naam,
           CURSIST.email,
           CURSUS.cursus
     FROM CURSIST 
     INNER JOIN DEELNEMERS
          ON CURSIST.id=DEELNEMERS.cursist_id;
     INNER JOIN CURSUS
          ON DEELNEMERS.cursus_id=CURSUS.id;
    
    有关连接的有用链接:

  • @更新:@Mark_Ed我曾经评论过你的代码,希望这对你有所帮助

    编辑方法:

    
    
    用户是否与课程有任何关系,即您是否试图显示用户可能已订阅的课程或其他内容这两个表之间没有链接。i、 e.
    cursist
    没有为其分配任何
    cursus
    。这使得无法获得结果。用户是否与课程有任何关系,即您是否试图显示用户可能已订阅的课程或其他内容这两个表之间没有链接。i、 e.
    cursist
    没有为其分配任何
    cursus
    。这就不可能有结果了。嘿!如何使用此查询在屏幕上打印“游标”?当我使用上面的代码时,它会显示“0 Resultaten gevonden”,也就是找到的0个结果。也找不到问题所在。SQL查询是否返回结果?查询将Cursist.id位于cursus表中的每个条目作为cid传递。如果用户没有分配cursus,这可能是数据库没有返回结果的原因。当我将cursus id更改为某个用户id时,它会显示出来。嘿!如何使用此查询在屏幕上打印“游标”?当我使用上面的代码时,它会显示“0 Resultaten gevonden”,也就是找到的0个结果。也找不到问题所在。SQL查询是否返回结果?查询将Cursist.id位于cursus表中的每个条目作为cid传递。如果用户没有分配游标,这可能是数据库没有返回结果的原因。当我将游标id更改为用户id之一时,它确实会显示。