-1

我想从 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; ?>  

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

4

2 回答 2

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'). 注意#__表名之前的。

于 2013-11-07T12:23:16.763 回答
1

您应该使用print_r()loadObjectList()代替loadResult并打印对象列表。更多细节: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); ?>  
于 2013-11-07T12:21:43.303 回答