Php 需要从mysql数据库中获取productdata

Php 需要从mysql数据库中获取productdata,php,mysql,Php,Mysql,我有个问题。我将尝试描述我的情况: 我在wordpress上安装了codeigniter。一切进展顺利,我还可以访问数据库。现在我为wordpress安装了一个名为:Woocommerce的插件。使用此插件,您可以在数据库中存储产品和产品数据。现在,我需要在codeigniter应用程序中访问来自woocommerce产品的数据 Woocommerce的产品存储方式如下: 所有产品都放入一个名为:wp_posts的表中 此表中定义了一个列,名为:post_type 当post_type设置为pr

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

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

Woocommerce的产品存储方式如下:

所有产品都放入一个名为:wp_posts的表中 此表中定义了一个列,名为:post_type 当post_type设置为product[duh!]时,Woocommerce将这些帖子标识为产品

现在有另一个表叫做wp_posteta。 在此表中,所有productdata存储在4列中: 1.meta_id[元行的标识符] 2.post_id[将自身标识到wp_posts表] 3.meta_键[将有几个键进入其中,如:销售价格、股票、附加价格等] 4.meta_值[每个键都有一个值。]

在wp_postemta表中,如果产品得到meta_key=''rentable',meta_value='yes',我需要用它们的值对所有meta_键进行排序。 因此,如果这是真的,我需要获取所有其他元键和值,其中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_键:_rentable和值: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'
        ";