【发布时间】:2014-03-14 16:00:44
【问题描述】:
我正在处理产品和类别之间多对多关系的连接表。通过这个特定的函数,我试图接受一个 product_ID 变量并在一个数组中获取所有相关的类别名称。但是,在当前设置下,当我知道有几个有 2 个时,每个产品 ID 只能得到一个类别。有什么想法吗?还有人知道一个很好的简单解决方案,可以更直观地跟踪 mysql 中的 M2M 关系吗?
//输入产品ID,获取相关类别 功能产品猫($pid){ 全局 $sql; $query = "SELECT * FROM Product_Category WHERE Product_ID = '$pid'"; $result = mysqli_query($sql, $query); $catidarray = 数组(); 而($row = mysqli_fetch_array($result)) { array_push($catidarray, $row['Category_ID']); } foreach($catidarray as $i) { $query = "SELECT * FROM Categories WHERE Category_ID = '$i'"; $result = mysqli_query($sql, $query); $namearray = 数组(); 而($row = mysqli_fetch_array($result)) { array_push($namearray, $row['Name']); } } 返回 $namearray; }【问题讨论】:
-
您的表 product 和表 category 是多对多的吗?那么相对于这些表,它在您的数据库中包含多少个表?
-
你能不能也显示一些表结构?
-
我对 php 和 mysql 都很陌生。但是我的表设置非常简单,我有:类别:带有 Category_ID 和其他几个字段产品:带有 Product_ID 和其他几个字段 Product_Category(连接表),带有 Product_Category_ID,并且 Product_ID/Category_ID 在各自的 Product 和 Category 表中索引这些字段跨度>
-
您的
Product_Category_ID是自动递增的吗? -
没错,所有桌子的主要ID标签都是AI。
标签: php mysql junction-table