2013-03-22 75 views
1

我找不到有效的語句來獲取行和顯示JDatabase中的項目。Joomla 3 JDatabase如何回顯行

我的代碼如下所示:

$db = JFactory::getDbo(); 
$query = $db->getQuery(true); 
$query->select(array('item_id, item_name')); 
$query->from('#__items'); 

如何打印出表格這些項目嗎?

回答

1

嘗試這樣的:

// Get a database object 
$db = JFactory::getDbo(); 

$query = $db->getQuery(true); 
$query->select('item_id, item_name'); 
$query->from('#__items'); 

// sets up a database query for later execution 
$db->setQuery($query); 

// fetch result as an object list 
$result = $db->loadObjectList(); 

更多細節見鏈接Accessing the database using JDatabase/3.0。有關如何獲取結果的更多方法,您可以使用loadResult(),loadRow(),loadAssoc(),loadObject(),loadResultArray(),loadRowList(),loadAssocList()

您也可以參考這個Accessing the database using JDatabase/1.5

您也可以參考有關如何

Developing a Model-View-Controller Component/3.0/Introduction

Developing a Model-View-Controller Component/2.5

希望它可以幫你這個鏈接。

+0

謝謝。但問題是如何打印出這些項目? – 2013-03-22 14:47:53

+0

@MindaugėlisPakasyk如果你把這些代碼放在模型函數中,那麼你需要返回這個結果,並且鑑於你的組件通過使用foreach循環語句訪問這個元素。 – Toretto 2013-03-22 14:53:32

+0

@MindaugėlisPakasyk查看我更新的答案,以及如何在joomla中開發mvc組件的鏈接。 – Toretto 2013-03-22 15:01:14

4

文檔頁面是在這裏:http://docs.joomla.org/Accessing_the_database_using_JDatabase/3.0

你需要添加像這樣:

$db->setQuery($query); 
$results = $db->loadObjectList(); 

這會給你其中每個對象是行對象的數組。

本頁面:http://docs.joomla.org/Accessing_the_database_using_JDatabase/1.5適用於Joomla! 1.5,但仍然有(imho)可用函數的最佳列表來獲取您的數據。我認爲大多數仍然有效。

要輸出$結果陣列使用這樣的事情:

foreach ($results as $row) : 
    echo $row->item_id; 
    echo $row->item_name; 
endforeach; 
+0

謝謝。但問題是如何打印出這些項目。我無法訪問數組... – 2013-03-22 14:49:32

+0

更新瞭如何打印項目的答案。 – Bakual 2013-03-22 15:09:33

+0

非常感謝。 – 2013-03-22 16:03:15

0

你不陣列添加到您的選擇查詢,您只需添加值,用逗號隔開,像這樣:

$db = JFactory::getDbo(); 
$query = $db->getQuery(true); 
$query->select('item_id, item_name') 
$query->from('#__items'); 
$db->setQuery($query); 
$results = $db->loadObjectList();