传递while循环内部的输入类型标记的值,其中while循环在php中

时间:2017-09-27 12:31:34

标签: javascript php html sql

帮助我获得总金额的价值:  1列显示db中的数量(我循环时),将其乘以输入标记((没有副本)。这是在while循环内)然后将它们相乘得到总量。如何在php循环中传递我的输入标签的值?

这是图片:

enter image description here

<div id="test" ng-repeat="foo">

2 个答案:

答案 0 :(得分:1)

也许您需要的是在用户输入复制件数(onkeyup事件)后使用一些javascript来更新总金额。

<?php       
    $result = mysqli_query($link,"SELECT * FROM account_db");
    $row = mysqli_fetch_row($result);   
    echo"<html>";
    echo "<script>";
    echo "function calculate(amount, id){ document.getElementById('total' + id).innerHTML = parseInt(document.getElementById('copy' + id).value) * amount; }";
    echo "</script>";
    echo"<center>";
    echo "<form method='POST'>";
    echo "<table style='border:1px solid black' name='pleasework'>";
    echo"<th>FILES</th>";
    echo"<th>AMOUNT</th>";
    echo"<th>NO. OF COPIES</th>";
    echo"<th>TOTAL AMOUNT</th>";

    $counter = 0;
    while($row)
    {
        echo"<tr>";
        echo "<td id='transfile'>$row[1] </td>";
        echo "<td align=center>$row[2] </td>";
        echo "<td align=center><input type='number' id='copy" . $counter . "' name='noofcopies' onkeyup='calculate(" . $row[2] .  ", " . $counter . ")'> </td>";
        echo "<td align=center value='' id='total" . $counter . "'></td>";
        echo"</tr>";
        $counter++;
    }                   

    echo "</table>";
    echo " <input type='submit' value='Transact' name='transaction'>";
    echo"</center>";
    echo"</html>";      
?>

首先要在inputtd设置ID,以便通过javascript访问。
然后,创建一个函数来计算总数 然后,使用document.getElementById函数来获取和设置值。 进一步阅读HERE

希望得到这个帮助。

答案 1 :(得分:0)

您尚未向我们提供数据库中的列名称,表单中的名称或字段。 类似的东西:

$inputVal=$_REQUEST['my_input_field'];
$sql = sprintf("SELECT SUM(my_col)*%d FROM account_db", $inputVal);

替换my_input_field和my_col,其中实际值应该有效。