gpt4 book ai didi

php - 需要从mysql数据库中获取productdata

转载 作者:IT老高 更新时间:2023-10-29 00:16:59 25 4
gpt4 key购买 nike

我有一个问题。我将尝试描述我的情况:

我安装了一个 wordpress,我在其中安装了 codeigniter。一切顺利,我还可以访问数据库。现在我为 wordpress 安装了一个名为:Woocommerce 的插件。使用此插件,您可以将产品和产品数据存储在数据库中。现在我需要在 codeigniter 应用程序中访问我的 woocommerce 产品中的数据。

Woocommerce 像这样存储其产品:

所有产品都进入一个名为:wp_posts 的表中在此表中定义了一个名为:post_type 的列当 post_type 设置为产品 [duh!] 时,Woocommerce 将帖子识别为产品。

现在有另一个名为 wp_postmeta 的表。在此表中,所有产品数据都存储在 4 列中:1. meta_id [元行的标识符]2. post_id [向 wp_posts 表标识自己]3. meta_key [会有几个键,比如:sale_price、stock、additional_price 等。]4. meta_value [每个键都有一个值。]

在 wp_postmeta 表中,如果产品有 meta_key='_rentable' 和 meta_value='yes',我需要整理出所有 meta_keys 及其值。因此,如果这是真的,我需要获取 post_id 与可出租产品相同的所有其他元键和值。我希望我没有混淆任何人......现在我得到了这个查询:

    $sql = "SELECT p.id, p.post_title, p.guid, p.post_type, m.meta_key, m.meta_value
FROM wp_posts p
INNER JOIN wp_postmeta m
WHERE p.id=m.post_id
AND m.meta_key='_rentable' AND m.meta_value='yes'
";

这只会返回 meta_key: _rentable 和 value: yes.. 但我还需要获取该产品的价格。

最佳答案

听起来您正试图从同一个表的不同行中获取多条数据,这意味着您需要执行多个连接。这是否能满足您的需求?

$sql = "SELECT p.id, p.post_title, p.guid, p.post_type, m.meta_key, m.meta_value, meta_sp.meta_value as sale_price, meta_ap.meta_value as additional_price
FROM wp_posts p
INNER JOIN wp_postmeta m
INNER JOIN wp_postmeta meta_sp ON p.id=meta_sp.post_id
AND meta_sp.meta_key='sale_price'
INNER JOIN wp_postmeta meta_ap ON p.id=meta_ap.post_id
AND meta_ap.meta_key='additional_price'
WHERE p.id=m.post_id
AND m.meta_key='_rentable' AND m.meta_value='yes'
";

关于php - 需要从mysql数据库中获取productdata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9878985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com