我想从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; ?>
但它给了我一个结果。我想要的是,从列中提取所有数据并将其单独放置。这是什么错误?
答案 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); ?>