首页 > 解决方案 > Wordpress - 在产品页面上显示 MySQL 列数据

问题描述

亲爱的,

我创建了一个从 MSSQL 导出数据并导入 MySQL 数据库的 python 脚本。一切顺利。

现在我想显示我添加的新列数据......但我没有任何 PHP 技能。

数据在wc_product_meta_lookup表中。列名称是dLieferdatum

我想它可能从以下内容开始:

global $product;

$results = $product->get_col( "
    SELECT dLieferdatum
    FROM jll99_wc_product_meta_lookup
    WHERE dLieferdatum IS NOT NULL
" );

我非常感谢任何想法:-)

进一步说明:我构建了一个函数来显示项目是否可用。如果我想显示数据dLieferdatum而不是“bestellbar”dLieferdatum is not NULL

function show_stock() {
    global $product;
        // if manage stock is enabled

        if ( $product->stock ) {  

            // if stock is low
            if ( number_format($product->stock,0,'','') > 0 && number_format($product->stock,0,'','') < 7) { 
                echo '<div class="less-available"><i class="fa fa-truck"></i> auf Lager</div>';
                echo '<div class="ind_individual-delivery-time">Zustellung in 1 - 3 Werktagen</div>'; 
            }        

            // if more than 6 are available
            if ( number_format($product->stock,0,'','') > 0 && number_format($product->stock,0,'','') > 6) { 
                echo '<div class="available"><i class="fa fa-truck"></i> auf Lager</div>'; 
                echo '<div class="ind_individual-delivery-time">Zustellung in 1 - 3 Werktagen</div>'; 
            }
        }

        if ( $product->managing_stock() && number_format($product->stock,0,'','') < 1) {
            echo '<div class="backorder_item"><i class="fa fa-truck"></i> bestellbar</div>';            
        }

    }

标签: phpmysqlwordpress

解决方案


我有一个类似的问题,它刚刚解决了。

首先,您必须为SELECT数据库中的数据创建一个函数:

function get_product_meta_dLieferdatum( $product_id ) {
            global $wpdb;
            return $wpdb->get_var( $wpdb->prepare("
                SELECT dLieferdatum
                FROM {$wpdb->prefix}wc_product_meta_lookup
                WHERE product_id = '%d' AND dLieferdatum <> '0000-00-00'
            ", $product_id ) );
        }

第二步是在“show_stock()”函数中调用函数的返回值。所以你需要把下面的代码 - 例如 - 在if调用前面

$dLieferdatum = get_product_meta_dLieferdatum( $product->get_id() );

现在$dLieferdatum有你想要的价值。最后,您可以使用简单的echoor显示数据print

echo $dLieferdatum;

推荐阅读