首页 > 解决方案 > 从 SQL 中提取数据以构建显示用户特定数据的用户仪表板

问题描述

我想在我的 Wordpress 网站上构建一个用户仪表板页面,该页面从数据库中提取数据,以显示在一段时间内使用会员卡进行的用户特定交易的总和,即一个月、一年等的总交易价值。

这是我迄今为止取得的进展:我对数据库进行了一些研究,并与 SQL、PHP、HTML 等集成,但我是初学者,正在 Wordpress 上构建我的网站,并使用我的主机提供的 MySQL 数据库。我正在使用插件来管理我的用户注册、内容限制等。

我意识到我可以建立一个包含我想要的信息的数据库,然后使用 SQL 查询来调用我想要在仪表板上显示的数据。(我还没有建立这个数据库,需要帮助)

为了使它起作用,我需要一种方法来识别每个用户特定的数据(交易)。为此,我将使用用户的会员号(我已经设置成功)作为 SQL 查询的条件。

我正忙着写一个简码,让我可以在我的网站上的任何地方显示仪表板。

我有两个问题:

  1. 我知道如何使用“get_user_meta”函数来提取用户的会员编号,但是我不知道如何将用户传递给该函数。即短代码中的参数是什么?(这甚至是正确的问题吗?)我的这种理解来自我对这个自定义代码片段的使用,该代码片段可以正确显示其会员卡上的用户会员编号,如下所示。
function my_pmpro_add_member_numb_after_member_card( $pmpro_membership_card_user, $print_sizes, $qr_code, $qr_data ){
    
    $member_number = get_user_meta( $pmpro_membership_card_user->ID, 'member_number', true );
    
    if( $member_number !== "" ){
        echo "<p><span style=font-weight:bold>Member Number: </span>".$member_number."</p>";  
        //Wrapping content in <p> tags will help with consistent spacing
    }
    }
    add_action( 'pmpro_membership_card_after_card', 'my_pmpro_add_member_numb_after_member_card', 10, 4 );

我的简码将使用上述逻辑,如下所示:

// function that runs when shortcode is called
    function fund_dashboard_test_shortcode($pmpro_membership_card_user ){
    
    $member_number = get_user_meta( $pmpro_membership_card_user->ID, 'member_number', true );
    //SQL query to follow here, something like:
    // SELECT column1 FROM table_name WHERE member_number = $member_number;

    // additional code here to display data in dashboard layout
    }
    // register shortcode
    add_shortcode('fund_dashboard', 'fund_dashboard_test_shortcode');

我想这里的简单问题是:如何检索用户会员号?

  1. 假设我能够提取会员编号,是否可以将用户会员编号以如下形式传递到 SQL 查询中:
    SELECT column1
    FROM table_name
    WHERE member_number = $member_number;

我需要这样做才能查询用户特定的数据。

提前感谢你的帮助。

标签: phphtmlsqlwordpress

解决方案


推荐阅读