我想在我的模块首页上显示数据库中的数据。要从数据库中检索数据,我将此代码写入helper.php
public static function getdb($params)
{
// 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 "custom.".
// Order it by the ordering field.
$query->select($db->quoteName(array('user_id', 'profile_key', 'profile_value', 'ordering')));
$query->from($db->quoteName('#__user_profiles'));
$query->where($db->quoteName('profile_key') . ' LIKE '. $db->quote('\'custom.%\''));
$query->order('ordering ASC');
// 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();
foreach($results as $value)
{
echo $value;
}
}
和我的helloworld.php文件放了这段代码
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
// Include the syndicate functions only once
require_once( dirname(__FILE__).DS.'helper.php' );
$hello = modHelloWorldHelper::getdb( $params );
require( JModuleHelper::getLayoutPath( 'mod_helloworld' ) );
?>
和tmpl / default.php文件代码是
<?php // no direct access
defined( '_JEXEC' ) or die( 'Restricted access' ); ?>
<?php echo $hello; ?>
但结果是空白的。没有在模块页面中显示。如何从数据库中获取数据?如何从数据库中获取数据的正确格式?
答案 0 :(得分:0)
$ db-&gt; loadObjectList()加载一个对象数组,不能作为字符串回显,试着
foreach($results as $value)
{
var_dump($value);
}
OR:
foreach($results as $value)
{
echo $value->user_id;
}
答案 1 :(得分:0)
;删除其他代码并插入此代码(您应该返回值不要回显它)
return $results;
并在tmpl / default.php文件中执行foreach循环
foreach($hello as $value)
{
echo $value['user_id'];
}
答案 2 :(得分:0)
SELECT `user_id`,`profile_key`,`profile_value`,`ordering`
FROM `pwsha_user_profiles`
WHERE `profile_key` LIKE '\'custom.%\''
ORDER BY ordering ASC
是否是您代码中生成的查询。
我不确定你要尝试运行什么查询,以及你是否真的认为这是查询,但我不打赌。
我建议
$query->where($db->quoteName('profile_key') . ' LIKE '. $db->quote('custom.%'));