2014-06-24 31 views
0

我正在爲我的網站製作插件,我可以爲用戶生成一些優惠券。我寫了一個插件,並在自定義管理頁面上列出所有優惠券。WordPress插件內部連接表

我的自定義表看起來像這樣:

名稱:wp_rdc 字段:ID,USER_ID,優惠券

當我列出了所有我想加盟wp_users表,並得到相應的USER_LOGIN券(用戶名)從wp_users表格轉換爲w_rdc表格中的user_id。

我試過寫這樣的查詢,但我不知道如何回顯不同的變量,我是新來的連接表。

$coupons = $wpdb->get_results('SELECT * FROM wp_rdc AS r INNER JOIN wp_users AS u ON u.id = r.user_id ORDER BY user_id DESC'); 

這就是我多遠,現在我不知道接下來該做什麼。所以基本上我的問題是如何從wp_users表中回顯user_login?

這就是我如何從wp_rdc表中回顯我的數據,其中我不是user_id而是要回顯user_login,因爲這看起來比僅回顯對最終用戶沒有意義的ID更好。

$table_row = ""; 

foreach($coupons as $coupon) { 
    $table_row .= "<tr>"; 
    $table_row .= "<td class='rdc-table-data'>" . $coupon->id . "</td>"; 
    $table_row .= "<td class='rdc-table-data'>" . $coupon->user_id . "</td>"; 
    $table_row .= "<td class='rdc-table-data'>" . $coupon->coupon . "</td>"; 
    $table_row .= "</tr>"; 
} 

echo $table_row; 

回答

1

您可以使用user_nicename或USER_LOGIN從wp_users表:

$coupons = $wpdb->get_results('SELECT r.id, r.user_id, r.coupon, u.user_login, u.user_nicename FROM wp_rdc AS r INNER JOIN wp_users AS u ON u.id = r.user_id ORDER BY user_id DESC'); 

$table_row = ""; 

foreach($coupons as $coupon) { 
    $table_row .= "<tr>"; 
    $table_row .= "<td class='rdc-table-data'>" . $coupon->id . "</td>"; 
    $table_row .= "<td class='rdc-table-data'>" . $coupon->user_nicename . "</td>"; 
    $table_row .= "<td class='rdc-table-data'>" . $coupon->coupon . "</td>"; 
    $table_row .= "</tr>"; 
} 

echo $table_row; 
+0

哦,上帝,我這麼笨.....我不應該被允許再發布問題。當然,非常感謝,amenadiel! – Dueify

+0

別擔心。有時$ wpdb會很麻煩。畢竟它是WordPress的抱歉試圖建立一個數據庫抽象層。 – amenadiel

+0

是的,它當然可以。再次感謝,標記你的答覆爲回答:) – Dueify