在mysql php中的1NF表格式

时间:2016-03-02 06:27:49

标签: php mysql arrays

我有多个rights例如。 1,2,3,4,5shows_id例如。 1,2,3,4,5,6,7,8,9

我想在1Nf

中的表格中插入记录

如果用户选择rights 4,5shows_id 1,2,5,9 那么我的桌子应该如下所示:

输出:

        | rights               |shows_id
      --+----------------------+--------
        | 4                    | 1
        | 4                    | 2
        | 4                    | 5
        | 4                    | 9
        | 5                    | 1         
        | 5                    | 2
        | 5                    | 5
        | 5                    | 9

      $right        = $_POST['rights'];
      $get_movie    = $_POST['shows'];

      foreach( $right as $row){
      $aryInsertVals = array ('id'  => ''  ,

            'rights'          => $row[implode(',',$rights)],
            'shows_id'        => $row[implode(',',$get_movie)],
            ); }

但这只输入重复的权利...我想要权利和shows_id

1 个答案:

答案 0 :(得分:0)

将主键设为两列的组合。因此,它不允许您插入重复的行。

如果有两个表权限和节目。

你想要两张表中的笛卡尔积。这是通过从两个表中选择而无需任何其他连接条件来实现的:

mysql> SELECT * FROM rights, showsId;

Output :    | rights               |shows_id
      --+----------------------+--------
        | 4                    | 1
        | 4                    | 2
        | 4                    | 5
        | 4                    | 9
        | 5                    | 1         
        | 5                    | 2
        | 5                    | 5
        | 5                    | 9

希望你只是在寻找这个。