2013-03-19 74 views
2

我试图修改我的wordpress插件来跟踪谁改变了当前登录用户的名字。获取推荐ID

到目前为止,我设法构建了下面的代码,但我对任何一种编码都很陌生,如果我得到一些帮助,我会非常感激。

这个想法是从当前用户获得“parent_user_id”(referrer id),他们使用此ID来获取login_ID。

Actualy这段代码输出这样的:“通过推介:阵”

function wpmlm_display_referrer() { 
    global $wpdb, $user_ID, $current_user; 
    if(isset($_GET['current_user_id']) && !empty($_GET['current_user_id'])) { 
     $current_user_id = $_GET['current_user_id']; 
    } else { 
     $current_user_id = $current_user->ID; 
    } 

    # Logged in user 
    if (is_user_logged_in() == true) {    

     $get_id = "SELECT parent_user_id FROM mlm WHERE user_id=%d".$current_user_id; 
     $get_name = "SELECT login_id FROM mlm WHERE user_id=%d".$get_id; 
     $ref = $wpdb->get_results($get_name); 

     return 'Referred by: '.$ref;  
    } 
} 

感谢您的帮助,您可以在这种情况下提供。

+0

你为什么在查询中使用%d? – 2013-03-19 09:21:54

+0

老实说,我从以前的代码复制,但删除它并没有看到任何改变。 – 2013-03-19 09:27:01

+1

尝试print_r($ ref);你是否获得了具有适当值的数组? – 2013-03-19 09:44:54

回答

0

请试试这个:

$get_id = "SELECT parent_user_id FROM mlm WHERE user_id='".$current_user_id ."'"; 
$get_name = "SELECT login_id FROM mlm WHERE user_id='".$get_id ."'"; 

我刚才编辑的查询。 现在第二件事情是,$ get_id是包含查询,所以如果你想要写子查询写它像下面的变量:

你下面如果从子查询parent_user_id将返回值1

$query = "SELECT login_id FROM mlm WHERE user_id=(SELECT parent_user_id FROM mlm WHERE user_id='".$current_user_id ."')"; 

使用下面如果子查询将返回多个值:

$query = "SELECT login_id FROM mlm WHERE user_id IN (SELECT parent_user_id FROM mlm WHERE user_id='".$current_user_id ."')"; 

,然后尝试print_r($ref);

哟你会得到数组中的值。一旦你看到该值使用数组的正确索引来获取值。

+0

Worket完美... 非常感谢! – 2013-03-19 17:05:33

+0

@Diego Victor:不客气 – 2013-03-20 03:56:48