0

我希望这不是一个重复的问题,我发现了许多类似但没有一个符合我的要求。我试图通过将mysql 值拆分为未知数量的部分来获得解决方案,但我想我可能问错了问题 - 我指定不想在该问题上使用 php。它也接近Can you split/explode a field in a MySQL query? 但同样,这并不能完全定义它。我安装了common_schema,它看起来会是一个强大的工具,但我无法让它返回我希望的结果。我已经尝试将foreachexplode结合使用,但我无法使用它获取同一数组中的所有数据。序言很长,但这是问题所在。我有一个带有下表的数据库。

id categories

100 |88|

102 |88|243|

442 |228|243|228|239|228|

我正在重构它以将其放入 OpenCart。

所以需要像这样或在我可以用来创建它的数组中

ID category

100 88

102 88

102 243

442 228

442 243

442 228

ETC

我将它进出数据库没有问题,只需修改数据以将 ID 绑定到每个类别,无论该字段中可能有多少。我花了大约 2 天的时间试图找到一个解决方案,我确信它是非常基本的。我最接近的是foreach

但最终得到了一个数组

array ('ID' => 442,
       'Category' => array (0 => 228, 1 => 243, 2 => 228 etc)
4

1 回答 1

1

根据您检索查询结果的方式,您可以执行以下操作:

foreach($result as $row) { // iterate over each row in the query result

    $categories = array_filter(explode('|', $row['categories']));

    foreach($categories as $category) {
        // insert row into new table with id $row['id'] and category $category
    }
}
于 2013-11-06T15:44:11.660 回答