抱歉,如果这有点啰嗦,但这里有一些背景知识。
我正在将一些产品从一个购物车迁移到另一个购物车。原始购物车非常旧,导出文件仅提供不同产品选项的选项 ID。例如。如果产品有红色、黄色和蓝色,它可能会给我选项 ID 1,2 和 3。
我已经设法获得一个单独的列表,显示所有可用的选项 ID 及其引用的选项。
因此,列表 A 显示了每个产品及其可用的选项 ID,如下所示:
在此示例中,product_id 1 可以是 T 恤,option_id 11 可以是“颜色”,各种 option_value_ids 可以是红色、蓝色、黄色等
列表 B 向我展示了每个 option_value_id 的实际含义,如下所示:
基本上,我想编写一个 PHP 脚本,该脚本将比较两个列表,并针对每个唯一的产品 ID,然后针对每个唯一的选项 ID,以以下格式输出一行文本:
产品 ID;选项 ID;以逗号分隔的选项值列表,例如
1;11;红、蓝、绿、黄...
我对 PHP 还很陌生,一开始是把一个网络表单放在一起,这样我就可以粘贴电子表格中的数据,但我认为我找错了方向。然后我想也许可以将它们作为数据库中的 2 个 MySQL 表进行比较?
有人可以给我指出正确的方向吗?
最佳答案
SELECT a.product_id, a.option_id, GROUP_CONCAT(DISTINCT b.option_name SEPARATOR ', ') as option_names
FROM listA a
LEFT JOIN listB b ON a.option_value_id = b.option_id
GROUP BY a.product_id, a.option_id;
应该可以 - 我是凭内存写的:) 如果不行 - 尝试调整它。 然后您可以将其导出为 CSV。
关于php - 匹配php中单独列表上的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35990628/