2015-02-07 79 views
0

我正在研究一個解決方案,根據current_user()從我的MySQL數據庫中的表中顯示數據。我創建了另一個包含用戶擁有的權限的表,該錶鏈接到wp_users表。顯示基於current_user()的數據mysql

有沒有辦法通過MYSQL來做到這一點,還是我需要使用PHP?

到目前爲止,我有:

SELECT ww_id FROM 
    (SELECT rechten_ww_id 
    FROM tRechten as T1 
    JOIN wp_users as T2 ON T1.rechten_user_pass=T2.user_pass) as T12 
JOIN vWW as T3 ON T12.rechten_ww_id=T3.ww_id where current_user() = ????? 
+0

有辦法直接在mysql中完成條件,但是php是更好的選擇 – 2015-02-07 21:45:25

+0

你可以用我可以使用的簡單查詢來幫助我嗎? – Jane 2015-02-07 21:46:30

+0

'CASE值WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END'從mysql開發者文檔中直接複製 – 2015-02-07 21:48:06

回答

0

稱爲CURRENT_USER() MySQL的功能是不是在WordPress的情況下非常有用,因爲它與你的WordPress實例登錄到MySQL的用戶ID交易。這是硬編碼到您的網站目錄中的wp_config.php。它永遠不會改變 - WordPress總是使用相同的憑據來訪問MySQL,而不管哪個用戶或沒有用戶登錄到WordPress。

如果您想要使用WordPress用戶的身份,您需要使用wp_users.ID列作爲用戶的標識符。例如,您可以通過查看wp_posts.post_author中的用戶標識值來確定哪個用戶創建了每個帖子。

WordPress function called get_current_user_id()可讓您在php程序中獲取當前登錄的WordPress用戶的ID。例如,您可以通過將該用戶與wp_posts.post_author進行匹配來查找帖子。

+0

如何使用get_current_user_id(),因爲它在MYSQL中不起作用。對不起,有點菜鳥。 – Jane 2015-02-07 22:16:31

+0

'get_current_user()'是一個由WordPress基礎結構提供的php函數。您將在用於發佈您的查詢的相同程序中調用該位置。 – 2015-02-07 23:44:56