如何使用joomla从数据库中查询数据
从单表中查询数据
下面是使用JDatabaseQuery
类创建数据库查询的示例。使用select
,from
,where
和order
方法,我们可以创建灵活,易于阅读和可移植的查询。代码如下:
// 得到数据库对象
$db = JFactory::getDbo();
// 创建一个新的查询对象
$query = $db->getQuery(true);
// 查询内容
$query->select($db->quoteName(array('id', 'name', 'age')));
$query->from($db->quoteName('#__zmaxuser'));
$query->where('age >25');
$query->order('age ASC'); //设置排序
// 将查询对象设置到数据库
$db->setQuery($query);
// 执行查询,以对象数组的方法返回结果
$results = $db->loadObjectList();
使用链式操作
JDatabaseQuery
对象支持链式操作,可以对上面的代码进行简化:
// 查询内容
$query->select($db->quoteName(array('id', 'name', 'age')))->from($db->quoteName('#__zmaxuser'))->where('age>25')->order('age ASC');
使用group分组
使用group
方法可以方便的实现分组,下面的查询用来统计每一个分类中的文章数据,代码如下:
$query
->select(array('catid', 'COUNT(*)'))
->from($db->quoteName('#__content'))
->group($db->quoteName('catid'));
使用setLimit设置返回数量
使用setLimit
方法设置返回结果的数量。返回前10行结果。代码如下:
$query
->select($db->quoteName(array('id', 'name', 'age')))
->from($db->quoteName('#__zmaxuser'))
->setLimit('10');
作者:张敏
原文:http://www.joomlachina.cn/shouce/doc/1916?article_id=1902