Joomla 从单表查询数据
如何使用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');