Joomla 3.1。从数据库中提取数据

时间:2013-11-07 12:13:51

标签: php mysql database joomla

我想从MySQL中提取数据。我试试这个

<?php 
$db = JFactory::getDbo();
$query = $db->getQuery(true);

$query->select(array($db->quoteName('total_amount')));
$query->from($db->quoteName('money'));

$db->setQuery($query);

$results = $db->loadResult();

?>
<?php echo $results; ?>  

但它给了我一个结果。我想要的是,从列中提取所有数据并将其单独放置。这是什么错误?

2 个答案:

答案 0 :(得分:3)

loadResult()显示数据库中的单个结果。你需要的是loadObjectList()

所以你的查询就是这样:

<?php 
$db = JFactory::getDbo();
$query = $db->getQuery(true);

$query->select(array($db->quoteName('total_amount')));
$query->from($db->quoteName('money'));

$db->setQuery($query);

$results = $db->loadObjectList();

// display the results
foreach ( $results as $result) {
   echo "<p>" . $result->total_amount . "</p>";
}
?>

请注意,如果您使用的数据库表来自Joomla扩展程序,而不是您手动创建的数据库表,则应使用quoteName('#__money')。请注意表名前的#__

答案 1 :(得分:1)

您应该使用loadObjectList()而不是loadResult并使用print_r()打印对象列表。更多详情:http://docs.joomla.org/Selecting_data_using_JDatabase

<?php  
$db = JFactory::getDbo();
$query = $db->getQuery(true);

$query->select(array($db->quoteName('total_amount')));
$query->from($db->quoteName('money'));

$db->setQuery($query);

$results = $db->loadObjectList();

?>
<?php print_r($results); ?>