joomla 3x-profile字段

gj3fmq9x  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(277)

我已经添加了一个复选框到用户配置文件,并需要知道如何获得所有用户的电子邮件地址列表,他们已经选中复选框。我只想运行sql查询,但看不到值存储在哪里。

8ljdwjyq

8ljdwjyq1#

所有配置文件数据都存储在#uu user_uprofiles表中。要从概要文件表中检索数据,可以执行此查询

// Get a db connection.
$db = JFactory::getDbo();

// Create a new query object.
$query = $db->getQuery(true);

// Select all records from the user profile table where key begins with "checkbox.".
// Order it by the ordering field.
$query->select($db->quoteName(array('user_id', 'profile_key', 'profile_value')));
$query->from($db->quoteName('#__user_profiles'));
$query->where($db->quoteName('profile_key') . ' LIKE '. $db->quote('\'checkbox.%\''));

// Reset the query using our newly populated query object.
$db->setQuery($query);

// Load the results as a list of stdClass objects (see later for more options on retrieving data).
$results = $db->loadObjectList();

您将获得所有单击您复选框的用户的对象列表。记住使用profile\u key name代替 checkbox

goucqfw6

goucqfw62#

好的-我现在已经设法回答了我自己的问题(我将数据库导出为sql文件,作为测试用户勾选复选框,再进行一次导出,然后比较文件以查看发生了什么变化)。
这些值存储在jos\u fields\u values表中。下面的查询假设只有一个复选框-如果您有多个复选框,您还需要查询字段\u id,将替换为joomla安装的前缀。
选择email from \u users inner join \u fields\u values on \u users.id=\u fields\u values.item\u id

相关问题