2012-11-01 90 views
5

即時通訊新的joomla和im試圖建立一個組件,這是一個插件viruemart允許用戶訪問他們的用戶區的發票PDF的。要做到這一點,我需要編寫一個選擇查詢,從數據庫中爲我檢索這些信息。如何在joomla 2.5中建立一個sql select查詢?

我一直在用它亂搞,並與下面就來了,但它似乎沒有做任何事情:

$id =JFactory::getUser()->id; 
$db =& JFactory::getDBO(); 
$sql = "SELECT * FROM jos_vm_orders"; 
$db->setQuery($sql); 
$options = $db->loadObjectList(); 
return $options; 

我這麼想嗎?

+0

是否要爲特定用戶獲取信息 – Toretto

+0

是,對於當前登錄的用戶。但即時嘗試返回它的一切只是爲了讓它開始工作,然後再開始過濾它。 –

+0

@SeanLang:我已經更新了代碼。請看看。 – Irfan

回答

6

您可以檢查此文檔的數據庫查詢 - http://docs.joomla.org/API16:JDatabaseQuery

交叉檢查表prefix.Or嘗試這個 -

$db =& JFactory::getDBO(); 
$query = $db->getQuery(true); 
$query->select('*'); 
$query->from('#__vm_orders'); 
$query->where('id = 1'); //put your condition here  
$db->setQuery($query); 
//echo $db->getQuery();exit;//SQL query string 
//check if error 
if ($db->getErrorNum()) { 
    echo $db->getErrorMsg(); 
    exit; 
} 
return $db->loadObjectList(); 
+0

現在就得到這個工作!只是簡單愚蠢的哈!還有一個問題,我將如何添加「哪裏」部分? –

+1

@SeanLang:你可以把它放在db對象之後,setquery之前,看看我的更新答案。 – Irfan

+0

排序感謝:D有沒有一種方法來計算返回的行數? –

2
$db =& JFactory::getDBO();  
$query = $db->getQuery(true); 
$query->select('*'); 
$query->from('#__vm_orders');  
$db->setQuery($query); 
$options = $db->loadObjectList(); 
return $options; 

OR

$db =& JFactory::getDBO(); 
$sql = "SELECT * FROM #__vm_orders"; 
$db->setQuery($sql); 
$options = $db->loadObjectList(); 
return $options; 

試試這個,讓我知道你是否有任何問題。

+0

什麼都沒有出現,即使我返回$ options:S –

+0

代碼已更新。檢查並讓我知道 – Techie

+0

加上檢查是否有數據庫錯誤 – Techie

1

嘗試這個

$user =JFactory::getUser(); 
$userId = $user->id;//also u get name,email etc 
$db =& JFactory::getDBO(); 
$sql = "SELECT * FROM table where condition"; 
$db->setQuery($sql); 
$db->query(); 
$options = $db->loadObjectList(); 
return $options;