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产品变体

php 设置代码#woocommerce产品和产品变体#custom-fields#meta-data

php 将自定义字段添加到WooCommerce产品变体#woocommerce #products-variations#custom-fields

海量 PHP 数组 vs MySQL 数据库?

php [woo总是显示所有图像变化]在“yith-color-and-label-variations-for-woocommerce”插件#wordpress中选择产品变体时

Javascript 是不是支持 PHP 中的短三元(更确切地说,变体)?