// 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();
2条答案
按热度按时间8ljdwjyq1#
所有配置文件数据都存储在#uu user_uprofiles表中。要从概要文件表中检索数据,可以执行此查询
您将获得所有单击您复选框的用户的对象列表。记住使用profile\u key name代替
checkbox
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