PHP+MySQL 中的前端产品变体?
Posted
技术标签:
【中文标题】PHP+MySQL 中的前端产品变体?【英文标题】:Front-end product variants in PHP+MySQL? 【发布时间】:2011-11-08 14:14:24 【问题描述】:我在做网店,每个产品都可以有多个变体。
所有变体实际上都是它们自己的产品。每个产品的 SKU 不同,但“一个产品”的所有变体的产品编号都是相同的。
变体组合保存在一个称为变体值的单独表中。里面有产品 SKU、fieldname 和 fieldvalue。
假设我有 3 种产品。 SKU:0505002699/SB/M、0505002699/SC/L 和 0505002699/SC/M。
所有产品都有相同的产品编号; 0505002699.
产品有以下字段:颜色、尺寸。
这些是每个产品的值:
0505002699/SB/M
颜色:黑色
尺寸:小
0505002699/SC/L
颜色:蓝色
尺寸:中
0505002699/SC/M
颜色:红色
尺寸:小
有人知道如何循环该前端吗?最终结果应该类似于:http://i.stack.imgur.com/rAxeG.png
问题(对我来说)是弄清楚如何列出可能的“配置”。
有人吗?
【问题讨论】:
具体是什么给您带来了麻烦?显示这个?查询这个?这对我来说似乎很简单,如果不知道具体是什么问题,我不知道如何为您提供帮助。 所以产品没有唯一标识符(不是变体)? 【参考方案1】:只是对实现的快速思考:
如果每个产品的“配置”是可变的:
额外的表格:
size
- code
- descr
fe:
S - Small
M - Medium
然后是产品和尺寸之间的表格:
product_size
- product_id
- size_code
fe:
1 - S
1 - M
2 - S
...
对于颜色:
product_color
- product_id
- color
fe:
1 - #FFFFFF
1 - #000000
2 - #000000
...
然后您可以通过 product_id 为每个产品选择所有选项。
fe:
SELECT color FROM colors WHERE product_id = $product_id;
SELECT size_code FROM product_size WHERE product_id = $product_id;
编辑:哇,我误读了你的部分问题,抱歉
【讨论】:
【参考方案2】:虽然 Nathan 的回答是可行的,但您可能会考虑一个更通用的版本(这里不是严格的语法检查,只是尝试一下):
create table configurations (
id int auto_increment primary key,
product_id int not null,
name varchar(50) not null,
value varchar(255) not null default "",
FOREIGN KEY (product_id) REFERENCES product(id)
)
然后你可以随心所欲地创建新类型的配置(configurations.name)并在代码中处理它们。
select value from configurations where product_id=$product_id and name='color';
select value from configurations where product_id=$product_id and name='size';
现在,这种方法的缺点是库存可能是一个问题,因此解决此问题的另一种方法是将它们作为相互关联的项目表(产品表?)中的单个项目。将它们组合到您的视图页面的代码中,但所有蓝色衬衫的库存可以与红色衬衫分开维护。
【讨论】:
以上是关于PHP+MySQL 中的前端产品变体?的主要内容,如果未能解决你的问题,请参考以下文章
php 设置代码#woocommerce产品和产品变体#custom-fields#meta-data
php 将自定义字段添加到WooCommerce产品变体#woocommerce #products-variations#custom-fields
php [woo总是显示所有图像变化]在“yith-color-and-label-variations-for-woocommerce”插件#wordpress中选择产品变体时