php - 如何在并排列上查看多对多表

标签 php mysql view many-to-many

我有一张名为“kelas”的 table 。

|id_kelas|nama_kelas|

我有 table Sesi

|id_sesi|nama_sesi|

我还有另一张 table 是 sesikelas

|id_kelas|id_sesi|

kelas 和 sesi 之间存在多对多关系,我想要的 PHP 编程是在 2 列上并排显示/查看 sesikelas 上 sesi 的值。

示例

|id_kelas|nama_kelas|session1|session2|
|01      |nama_kelas|id_sesi |id_sesi |

session1 或 session2 来自表 sesikelas 上的值。 问题是,我想组合等于某些 id_kelas 的 id_sesi。不是一条一条连续显示,但是如果表sesikelas中有两条id_kelas的记录,会并排显示。

任何人都可以帮助我使用 php,如何像图片中一样查看它们?

我的 PHP,但无法正常工作。 我使用mysql数据库,这是我的php代码。

$cls=mysql_query("select k.id_kelas,nama_kelas, sk.id_sesi,sesi from kelas k left join sesikelas sk on k.id_kelas=sk.id_kelas left join sesi on sk.id_sesi=sesi.id_sesi order by k.id_kelas");
while($fr = mysql_fetch_array($cls))
  {
  if ($temp2!=$fr['id_kelas'])
    {
      echo "<tr><td class='idclass'>".$fr['id_kelas']."</td>";
      echo "<td class='namecell'>".$fr['nama_kelas']."</td>";
      if(isset($fr['sesi']))
        {
            $x=mb_substr($fr['sesi'],0,1);
             echo "<td class='ses1cell'>".$hari[$x]." (".mb_substr($fr['sesi'],1,2).".".mb_substr($fr['sesi'],3,2)."-".mb_substr($fr['sesi'],5,2).".".mb_substr($fr['sesi'],7,2).")</td>";
        } else {
        echo "<td class='ses1cell'>Not set</td>";
        }
    $temp='skip';
    }  else {
    $temp='session2';
    }

    if (($temp=='session2'))
        {
        if(isset($fr['sesi']))
            {
            $x=mb_substr($fr['sesi'],0,1);
            echo "<td class='ses2cell'>".$hari[$x]." (".mb_substr($fr['sesi'],1,2).".".mb_substr($fr['sesi'],3,2)."-".mb_substr($fr['sesi'],5,2).".".mb_substr($fr['sesi'],7,2).")</td>";
            }else{echo "<td class='ses2cell'>Not set</td>";}
        echo "<td align='right'><a class='edit' href='#' onClick='Edit($(this))'>Edit</a> |
        <a class='delete' href='#' onClick='DeleteData($(this))'>Delete</a></td>";
        echo "</tr>";
        $temp='skip';
        }

    if (($temp=='skip') and ($temp2==$fr['id_kelas']))
    {   if ($temp2==$fr['id_kelas']){
        echo "<td class='ses2cell'>Not ff set</td>";}
        echo "<td align='right'><a class='edit' href='#' onClick='Edit($(this))'>Edit</a> |
        <a class='delete' href='#' onClick='DeleteData($(this))'>Delete</a></td>";
        echo "</tr>";

    }
        $temp2=$fr['id_kelas'];
  }

最佳答案

你的问题不是很清楚,但我怀疑这就是你想要的:

SELECT k.id_kelas, k.nama_kelas, s.session1, s.session2
FROM kelas k
JOIN sesikelas sk ON k.id_kelas = sk.id_kelas
JOIN sesi s ON s.id_sesi = sk.id_sesi

这是使用中间关系表连接两个表的正常方法。

关于php - 如何在并排列上查看多对多表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20592660/

相关文章:

Android - 将 View 动态添加到 View 中

php 下载不适用于 &

php - 使用已弃用的 homebrew/php 在 OSX 上安装 PHP 5.6 的 PHP 扩展

MySql "view"、 "prepared statement"和 "Prepared statement needs to be re-prepared"

mysql - 备份 MySQL InnoDB 表的最佳实践?

mysql - 如何使用镜头概念 6(-) 将数据存入数据库

ember.js - Ember 无法读取未定义的属性 'extend'

php - 如何在magento的自定义模块中创建sql安装程序以通过脚本创建表

php - laravel 5.4 MIME 自定义错误消息不起作用?

mysql - 无法连接到mysql。并且mysql无法重启