2017-03-06 51 views
-1

我想添加一個計算字段,其中用戶輸入訂單數量的數字並顯示該產品的總成本如何從用戶輸入和SQL數據庫創建計算字段

我對的產品列表中的表,然後從我的SQL數據庫

if ($num_results1 > 0) { 
    echo "<table><tr><th>Row Number</th><th>Name</th><th>Quantity</th><th>Weight</th><th>Price</th><th>Total</th></tr>"; 

for ($i=0; $i <$num_results1; $i++) 
{ 

$row = mysqli_fetch_assoc($result1); 
echo 
    "<tr>". 
    "<td class = 'row-number'>". $i ."</td>". 
    "<td class = 'Product-Name'>". $row["Cheese"]."</td>". 
    "<td class = 'Quantity'>" .'<input type="number" name="Box" id="text" />'. "</td>". 
    "<td class = 'Weight'>" . $row["Size(in Kg)"] ."kg". "</td>". 
    "<td class = 'Cost'>" ."€ ". $row["SellingPrice(Euro)"]. "</td>". 
    "<td class = 'total'>".'calculate('.$row["SellingPrice(Euro)"].')'."</input></td>". 
    "</tr>"; 

calculate()是一個JavaScript函數我寫的客戶希望訂購量,以獲得產品的成本有詳細介紹

<script> 
    function getQuantity(i) 
    { 
    //reference to the form 
    var theForm =document.forms["customerOrder"]; 
    //referenece to the element 
    var quantity = theForm.elements["Box"]; 
     var howmany=0; 
    if(quantity[i].value!="") 
    { 
     howmany=parseInt(quantity[i].value); 
    } 
    return howmany; 
    } 

    function calculate(k) 
    { 
    var calc= '.$row["SellingPrice(Euro)"].' * getQuantity(k); 
    return calc; 
    } 
</script> 

getQuantity()試圖提取客戶在網頁中輸入的值。

我已經打過電話,在PHP代碼回聲的腳本,我的問題我認爲是試圖獲得數量

所以在最後我希望創建一個函數來計算總成本和顯示器的引用,在我最後一欄,它需要是動態的,以適應我的SQL數據庫作爲銷售產品的數量變化,謝謝

+0

那是什麼''在過去​​? – pmirnd

回答

0

你不能像你那樣繼續下去。如果您有多行,則無法在一個JavaScript函數中傳遞多個PHP值。您可以添加一些ID到您的HTML標籤,以便能夠檢索字段。以下是jsfiddle向您展示的一個示例。

所以你的情況,你可以這樣做:

if ($num_results1 > 0) { 
    echo "<table><tr><th>Row Number</th><th>Name</th><th>Quantity</th><th>Weight</th><th>Price</th><th>Total</th></tr>"; 

    for ($i=0; $i <$num_results1; $i++) 
    { 

     $row = mysqli_fetch_assoc($result1); 
     echo 
     "<tr>". 
     "<td class = 'row-number'>". $i ."</td>". 
     "<td class = 'Product-Name'>". $row["Cheese"]."</td>". 
     "<td class = 'Quantity'>" .'<input type="number" id="qty-'.$i.'" onchange="calculate('.$i.')" />'. "</td>". 
     "<td class = 'Weight'>" . $row["Size(in Kg)"] ."kg". "</td>". 
     "<td class = 'Cost'>€ <span id='qty-".$i."'>". $row["SellingPrice(Euro)"]. "</span></td>". 
     "<td class = 'total' id='total-".$i."'></td>". 
     "</tr>"; 
    } 
} 

和JavaScript:

<script> 
    function calculate(lineNumber) { 
      var quantity = parseInt(document.getElementById('qty-' + lineNumber).value); 
      var cost = parseInt(document.getElementById('cost-' + lineNumber).innerHTML); 

      document.getElementById('total-' + lineNumber).innerHTML = cost * quantity; 
    } 
</script> 
+0

感謝您的幫助,但我似乎無法得到它的工作,我已經嘗試在php代碼中回顯出javascript,並在html中嘗試過,看着jsfiddle鏈接,非常有幫助,但似乎無法讓它起作用 –

+0

更改jsfiddle中的輸入值 –

+0

您的問題解決了嗎? –

相關問題