2016-02-26 49 views
0

如何從MySQL查詢運費?如何從MySQL查詢運費價格

例子:

Shipping Cost Table 

+----+------------+----------+-------+ 
| id | value_from | value_to | price | 
+----+------------+----------+-------+ 
| 1 |   1 |  10 | 100 | 
| 2 |   11 |  20 | 200 | 
+----+------------+----------+-------+ 

Product Name : Shirt | Quantity : 2 | Price : 100 | Subtotal : 200 
Product Name : Shoes | Quantity : 1 | Price : 150 | Subtotal : 150 
Product Name : Pants | Quantity : 3 | Price : 50 | Subtotal : 150 

Total : 500 
Total quantity : 6 

Shipping Cost 
(•) 100 (radio checked) //Get value from MySQL if quantity >= value_from, shipping price = 100 
Total price : 600 

如果我改變我的同類產品數量:單選按鈕

Product Name : Shirt | Quantity : 5 | Price : 100 | Subtotal : 500 
Product Name : Shoes | Quantity : 1 | Price : 150 | Subtotal : 150 
Product Name : Pants | Quantity : 5 | Price : 50 | Subtotal : 250 

Total : 900 
Total quantity : 11 

Total quantity = 11航運價格將生活變爲200,如:

Shipping Cost 
(•) 200 (radio checked) 
Total price : 1100 

我對jsfiddle代碼(僅HTML和現場更改JavaScript不是從PHP &現場檢查航運價格的MySQL)

+0

發送AJAX調用,以檢查標記值或判斷是否爲相同的值是存在於每個'x'的時間單位? –

+0

@SatejS發送'總量'檢查獲取PHP文件中的運費價格查詢運費價格併發回正確的運費價格。 –

+0

數量和價格都可以變化,正確嗎?或者只是數量? –

回答

0
  1. 如果您的運輸成本表是小而簡單的,你可以獲取所有數據轉換成JS對象。例如: shippingCost = {10: 100, 20: 200}; // {value_to: price}

然後比較總量得到價格。

function getPrice(quality) { 
    var currentPrice = 0; 
    for (value in shippingCost) { 
     if (quality <= value) { 
      currentPrice = shippingCost[value]; 
     } 
    } 
    if (currentPrice == 0) {// There is an exception here, the quality is not matched with shipping cost table} 
} 

注意:我沒有測試這個代碼,抱歉,如果它引發了一些錯誤,但它是一個想法。

  • 如果運輸成本的規則比較複雜,可以考慮使用Ajax當前質量送入服務器,然後使用PHP MySQL的&來計算價格,並返回到客戶端。