2017-03-06 1 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()は、顧客がWebページに入力した値を取得しようとします。

私は私が思う私の問題は、数量

のための参照はそう結論で、私は総コストを計算し、それを表示する機能を作成するために探しています取得しようとしている、PHPコード内エコーでスクリプトを呼び出す試してみました私の最後の列には、それは販売のための製品の数が変更されたとして、私のSQLデータベースに合わせて動的である必要がありますありがとう

+0

何が最後​​で ''? – pmirnd

答えて

0

あなたはあなたのように進むことはできません。複数の行を持っている場合は、PHPの複数の値を1つのjavascript関数で渡すことはできません。 HTMLタグにIDを追加して、フィールドを取得することができます。ここに例を示す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

問題は解決しましたか? –

関連する問題