2015-02-07 35 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