2

Joomla ページで Joomla MySQL データベースからクエリ結果を取得しようとしています。print_rデータベース接続が適切である適切な結果を返しています。しかし、取得したデータを表示できません。現時点で 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}

クエリ結果を表示するには、どのように、どこを、何を修正する必要があるか教えてください。

4

2 に答える 2

1

データベースから結果を取得するためにJoomlaで使用される規則の詳細には入りたくありません。これは完全に開発者に依存します。

おそらく結果配列を連想配列として扱うため、値を取得できない理由。これは実際には stdClass オブジェクトです。

使用する

$result->city_id

複数のネストされたクラスがある場合、city_id の値を取得するには、次のように使用できます。

$result->parent->child

お役に立てれば !

詳細については、これをチェックしてください - > https://stackoverflow.com/a/931419/122840

また、代わりに

$result = $database->query();

使用する :

$result = $database->loadAssocList();

これにより、結果が関連配列にロードされます!

だからあなたは使う

$結果['列']

結果を得るために!

于 2012-11-23T15:00:59.950 に答える
1

loadAssocList()の代わりにquery()使用します。

$result = $database->loadAssocList();

データベースからデータを連想配列として取得します。

Joomla のドキュメント: http://docs.joomla.org/JDatabase::loadAssocList/11.1

于 2012-11-22T21:05:18.443 に答える