タイトルを言い換え: 考えられるすべての製品オプションをリストする
P粉976737101
P粉976737101 2023-08-20 10:31:11
0
1
447

以前,我可以轻松处理这样的事情,但自从7年前离开开发世界以来,我失去了开发思维...

我的情况是,我正在尝试输出客户可以选择的每个可能的产品选项以及生成的SKU - 由每个选项的SKU附加到产品的SKU。

数据存储得不好,因为这是一个相当古老的网站。

下面是MySQL中存储数据的示例,以及我在PHP中尝试实现的目标。我将其限制为一个具有多个选项的产品。

products.id products.sku
1 a
options.id options.product_id
1 1
2 1
3 1
4 1
option_values.id option_values.option_id option_values.value
1 1 b
2 1 c
3 1 d
4 2 e
5 2 f
6 3 g
7 3 h
8 4 i
9 4 j
10 4 k

迭代每个选项的每个可能组合,并输出生成的SKU;

可能的SKUs
abegi
acegi
adegi
abfgi
acfgi
adfgi
abehi
acehi
adehi
abegj
acegj
adegj
abegk
acegk
adegk
[等等]

当我像这样写出来时,它似乎非常简单,这让我想知道我是否遗漏了什么...

我目前正在迭代每个产品,对于每个产品的每个选项,然后对于每个选项的每个值,但显然这不能满足每种可能的情况。

DB Fiddle - https://www.db-fiddle.com/f/vHWiKsKi9WUvvDwAa6pqw6/0

谢谢!

P粉976737101
P粉976737101

全員に返信 (1)
P粉046878197

すべてのオプションのデカルト積を作成する関数は、この質問に対する答えからインスピレーションを得ています。

リーリー

sku 文字列のみに興味がある場合は、関数を次のように単純化できます。

リーリー

誰かがより効率的な答えを提供できると確信していますが、この答えはサンプルデータに基づいて望ましい出力を生成します。

いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!