2012-08-16 68 views
0

我正在開發一個相當大的項目(面向對象)PHP,其中包含一個網上商店,用戶可以在其中購買產品和其他許可證和服務。購買是一個四個步驟的過程:從db獲取多個結果

  • 步驟1:用戶選擇的產物,和product_id被傳遞到步驟2
  • 步驟2:擷取並輸出基於product_id所有許可證類型,傳遞product_id步驟3
  • 步驟3:擷取並輸出基於product_id所有服務,在一個形式瓦特命名爲services[$service_id]

所以,現在對step 4結賬第i個複選框,我從數據庫讀取正確的產品和許可證,但我也必須從基礎服務陣列上的數據庫獲取正確的服務,並計算要輸出的價格。最後,我將不得不將服務數組分配給Smarty模板。

最合適的方法是做什麼?我真的希望有人能夠幫助我,因爲我很難完成這項工作。

非常感謝你提前。

+0

網上商店是您正在整合的獨立電子商務套餐,還是它也是大型項目的定製組件? – conor 2012-08-16 10:42:52

+0

這是一個自定義編碼的網上商店模塊,用於我的框架。你問來幹什麼? :-) – 2012-08-16 11:13:42

回答

1

使用

 

    $resulter = array(); 
    $i = 0; 
    foreach($product_id as $value) { 
    $query = "Select FROM products WHERE product_id = $value"; 
Your execution code $resulter[$i] = $result; //$result could be a assoc array $i++ }

,如果我何干你我會我會用一個多維數組如上所示我試試。

+0

謝謝你!我自己做了一些類似的東西:http://pastebin.com/d48RuLR8 - 但是,我如何將它分配給模板? (smarty) – 2012-08-16 11:08:50

+0

[鏈接](http://www.smarty.net/docsv2/en/language.function。的foreach) 看一看Smarty的Foreace它THIK說的語法是 {的foreach從= SMARTYVAR項目= I}

  • 折扣:{$ i.discount}
  • {/ foreach}的 – 2012-08-16 11:41:49

    +0

    但我需要 – 2012-08-16 13:18:39

    1

    聽起來像你需要JOIN

    就像'產品'表和'許可證'表中使用'product_id'字段加入以進行連接。

    示例查詢會是這樣的:

    SELECT <required_fields_here> 
    FROM products 
    JOIN licences ON licences.product_id = products.product_id 
    WHERE product_id = <product_id_here> 
    

    注意,在SELECT部分​​,您可以從兩個「產品」和「許可證」表中選擇的字段,你只需要使用表和一個前綴點例如'product.product_id'

    我認爲如果您需要進一步的幫助,您需要更具體。希望能幫助到你。

    +0

    感謝您的答案:)我真的不知道加入的想法。他們到底做了什麼? – 2012-08-16 10:42:39

    +0

    我鏈接到一篇關於在我的答案中加入的文章,它會比我在這裏更好地解釋它。 – conor 2012-08-16 10:44:37

    +0

    謝謝。無論如何,問題不在於獲得產品和許可證。我已經讓他們在另一個查詢。問題是我有一個service_id的數組,我需要從數據庫中獲取。 – 2012-08-16 10:50:12