在Joomla框架中显示MySQL选择查询结果

时间:2012-11-22 19:49:08

标签: php mysql database joomla

我正在尝试从Joomla页面中的Joomla MySQL数据库中获取查询结果。 print_r正在返回db连接正确的正确结果。但是我无法显示已获取的数据。 这是我正在获得print_r的结果:

mysqli_result Object ( 
    [current_field] => 0 
    [field_count] => 2 
    [lengths] => [num_rows] => 2 [type] => 0 
) 

这是我正在使用的代码:

{source}
<script language="javascript" type="text/javascript">

</script>
<?php


    // init Joomla Framework
    define( '_JEXEC', 1 );
    define( 'DS', DIRECTORY_SEPARATOR );
    define( 'JPATH_BASE', realpath(dirname(__FILE__).DS.'..' ));


    require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
    require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

    $mainframe = JFactory::getApplication('site');

    // DBQuery
    $database =& JFactory::getDBO();
    $query = "SELECT city_id, city_name FROM indytoad_city;";
    $database->setQuery($query);
    $result = $database->query();

    print_r($result);
?>
{/source}

请让我知道我需要修改的方式,地点和内容,以便显示查询结果。

2 个答案:

答案 0 :(得分:1)

使用loadAssocList()代替query(),即

$result = $database->loadAssocList();

它将数据库中的数据作为关联数组。

Joomla文档:http://docs.joomla.org/JDatabase::loadAssocList/11.1

答案 1 :(得分:1)

我不想详细介绍Joomla中用于从数据库中检索结果的约定。这完全取决于开发人员。

您没有获得该值的原因是因为您可能将结果数组视为关联数组。它实际上是一个stdClass对象!

使用

$result->city_id

获取city_id的值,如果有多个嵌套类,则可以将其用作

$result->parent->child

希望这有帮助!

有关详细信息,请查看此信息 - &gt; https://stackoverflow.com/a/931419/122840

也代替

$result = $database->query();

使用:

$result = $database->loadAssocList();

这会将结果加载到Associated array!

所以你使用

  

$结果[ '列']

得到结果!