2013-01-14 45 views
0

我想弄清楚如何修改此代碼段,以便從#__kiduka_accounts表中拉出gstexempt值,檢查它是否設置爲0或1,相應地應用稅額。如果在數據庫中設置了值,將文本值應用於總數

$db = JFactory::getDBO(); 
    $query = 'SELECT a.id, a.gstexempt FROM #__users as u 
     LEFT JOIN #__kiduka_accounts as a ON u.id = a.user_id 
     WHERE u.gid < 23'; 
    if(JRequest::getInt('membertype', 0) > 0) 
    { 
     $query .= ' AND a.membertype = '.JRequest::getInt('membertype', 0); 
    } 
    $db->setQuery($query); 
    $users = $db->loadResultArray(); 
    $query = 'SELECT * FROM #__kiduka_products WHERE id = '.JRequest::getVar('purchaseproduct'); 
    $db->setQuery($query); 
    $product = $db->loadObject(); 
    $params = JComponentHelper::getParams('com_kiduka'); 
    $tax  = $params->get('tax'); 
    $gstexempt = $users->gstexempt; 

    if ($gstexempt != 1) { 

     $subtotal = $product->price; 
     $taxtotal = $subtotal * $tax/100; 
     $finaltotal = $taxtotal + $subtotal; 

    } else { 

     $subtotal = $product->price; 
     $taxtotal = "0.00"; 
     $finaltotal = $subtotal; 

    } 

任何人都可以分享一些我需要改變,以使這項工作的見解?

謝謝。

邁克

+0

這段代碼是如何運作不同於你在找什麼關係呢? – DaOgre

+0

@DaOgre 對不起,我的第一篇文章應該沒有那麼清楚。我想從每個用戶的數據庫中拉出gstexempt值,但我認爲使用loadResultArray數據庫函數會導致它無法正常工作。 當我運行這個函數時,gstexempt if語句被忽略,gst總是被應用。 –

回答

0

嘗試doublechecking你正在運行的SQL查詢,並直接在服務器上運行,以驗證它給你期待出現的結果。看起來像這樣的一條線可能會導致一個問題,就是加入。

如果您在硬編碼用戶行(g.id = 23)上執行連接,您確定此記錄的值不是1?

嘗試這樣做對用戶的print_r你設置它,並在數據庫結果結構上看(和/或張貼在這裏)之後

+0

我已在phpMyAdmin中運行SQL查詢,並且正在選擇gstexempt值,無論它是否設置爲0或1. g.id是Joomla中的用戶組ID,因此可能有數十個用戶與一個組。 我曾嘗試使用print_r函數,但由於Joomla中的MVC體系結構,打印結果並未顯示在視圖中。 –

相關問題