php - 匹配php中单独列表上的值

标签 php mysql cs-cart

抱歉,如果这有点啰嗦,但这里有一些背景知识。

我正在将一些产品从一个购物车迁移到另一个购物车。原始购物车非常旧,导出文件仅提供不同产品选项的选项 ID。例如。如果产品有红色、黄色和蓝色,它可能会给我选项 ID 1,2 和 3。

我已经设法获得一个单独的列表,显示所有可用的选项 ID 及其引用的选项。

因此,列表 A 显示了每个产品及其可用的选项 ID,如下所示:

List A

在此示例中,product_id 1 可以是 T 恤,option_id 11 可以是“颜色”,各种 option_value_ids 可以是红色、蓝色、黄色等

列表 B 向我展示了每个 option_value_id 的实际含义,如下所示:

List B

基本上,我想编写一个 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/

相关文章:

php - 使用 PHP 根据 URL 显示/隐藏 Div

c++ - QSqlDatabase/QSqlQuery 终止正在运行的查询?

css - ty-product-list__item-name CS-Cart 中的 H2 标签

php - 为 SQL 选择月份和年份

mysql - 找不到MySQL语法错误

php - mysql 查询错误可以由服务器/托管引起吗?

php - laravel (corcel) 中的 Wordpress 订阅

php - 使用 BigCommerce API 获取产品图片

php - 向时事通讯订阅者发送大量消息