我希望这不是一个重复的问题,我发现很多相似但没有一个符合我的要求。我试图用Splitting mysql value into unknown number of parts得到一个解决方案,但我想也许我问了错误的问题 - 我指定不想在这个问题上使用php。它也接近Can you split/explode a field in a MySQL query?但是,这并没有完全定义它。我安装common_schema看起来它将是一个强大的工具,但我无法得到它返回我希望的结果。我已经尝试foreach与explode一起使用,但我无法使用它获取同一数组中的所有数据。长序,但这是问题所在。 我有一张包含下表的数据库。
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
等
我进入和退出数据库没有问题,只是修改数据以将ID绑定到每个类别,但是在该字段中可能存在很多。我花了大约2天试图找到解决方案,我确信这是非常基本的。
我最接近的是foreach
但最终得到一个数组
array ('ID' => 442,
'Category' => array (0 => 228, 1 => 243, 2 => 228 etc)
答案 0 :(得分: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
}
}