使用JS显示计算

时间:2014-02-22 10:00:45

标签: javascript php mysql

我正在尝试在php中构建一个类似于库存维护的Web应用程序,在我之前的页面中,用户可以插入他从经销商那里获得的账单价值,就像他从谁那里购买物品一样。从他的商店出售,因此他在那里插入了所购买产品的详细信息,数量,每台电脑的价格和其余部分,我的意思是总价格和总计是用JS计算的。 现在还有另一个页面,用户在总计中设置了他的利润百分比(总计=产品的总价格+运输价格),我想要使用按钮自己计算每个项目的销售价格。 其余的详细信息正从数据库中获取。 用户在总计上设置利润%,现在我已经使用JS来计算每个项目。

<script type="text/javascript">

  function poffy()
  {


      var d=document.getElementById("ui").value;
      var e=document.getElementById("grt").value;
      var p=parseFloat(d-e);
      var t=document.getElementById("noit").value;
      var e=p/parseFloat(t);
      for(var b=0;b<parseFloat(t);b++)
      {
      var c=document.getElementById("costprice").value;
      var y=new Array();
      y[b]=c;
      var f=document.getElementById("quant").value;
      var mk=new Array();
      mk[b]=f;
      var g=e/parseFloat(mk[b]);
      var h=g + parseFloat(y[b]);

      document.getElementById("sellprice").value=h;
      }
  }
  </script>

现在问题是计算出的值只显示一次,仅显示第一项,而不显示其他行。 Error image

我的PHP代码:

<?php
          include("connect.php"); 
    $wer='ccat';
    $i=0;
    $dater=date("D/M/Y");

    $sq="SELECT D_id FROM dealerdetail where Dealer='$wer'";
    $res=mysql_query($sq);
    while($row=mysql_fetch_array($res))
    {
        $did=$row["D_id"];
    }

    $io="Select pdate,tranprice,grandtotal from dateprice where D_id='$did'";
    $qw=mysql_query($io);
      while($row=mysql_fetch_array($qw)) 
     { 
         $pd=$row["pdate"];
         $as=$row["tranprice"];
         $as=0 + $as;
         $tr=$row["grandtotal"];
         $tr=0 + $tr;

    $sql="Select * from additem where Ditem_id='$did'";
    $result = mysql_query($sql);

              while($pop=mysql_fetch_array($result)) 
              { 


      $b= $pop["Product"]; 
      $c= $pop["Brand"];
    $d= $pop["Model"];
    $e= $pop["Dprice"];
    $f= $pop["Quantity"];
    $t=$e*$f;
    $g= $pop["Quality"];


  echo "<tr>";
    echo "<td> $wer</td>";
    echo "<td> $b </td>";
    echo "<td> $c </td>";
    echo "<td> $d </td>";
    echo "<td><input type=text name=costprice id=costprice onkeyup=sell(); class=price value=$e /></td>";
    echo "<td><input type=text name=quantity[] class=quantity  id=quant value=$f /></td> ";
    echo "<td><input name=txt type=text class=txt value=$t readonly /></td> ";
    echo "<td><input type=text name=sellprice id=sellprice /></td>" ;
    echo "<td> <div align=center ><p>$g<p></div> </td>";
    /*echo "<td><input type=text name=purchasedt value=$pd /></td> "; */
    echo "<td><input type=text name=current value=$dater /></td>
  </tr>";
              $i++;

                /* if(isset($_POST['S.P']))
                  {
                      $po=$_POST['grandy'];
                      $ap=$po-$tr;
                      $ao=$ap/$i;
                      $ai=$ao/$f;
                      $ul=$_POST['costprice'];
                      $re=$ai + $ul;
                      echo $re;

                  }
               */




              }

              }

      echo "<label>Number Of Items :  </label> <input type=text name=no size=6 id=noit value=&nbsp;&nbsp;$i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
     echo " <label>Dealer Name :</label>&nbsp; &nbsp;<input type=text name=fetch id=fetc readonly />"; 
     echo "&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  <label>Purchase Date :</label>&nbsp; &nbsp;<input name=prdt type=text size=10 class=pur value=$pd readonly /> <br><br> ";



  ?> 
</table>
<?php
echo  "<br><br><label> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Transport Price :</label><input type = text name=transport value=$as > <br>";
echo  "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><label> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Grand Total : </label> <input type = text name=grandy id=grt value=$tr > "; 
?>
<br >
<br >
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="button" name="proft" onclick="calcu();" value="Profit" />
<input type ="text" name="grandy" id="ui" />

1 个答案:

答案 0 :(得分:0)

我发现你已经有一个变量$i,你在每一行都递增,你可以使用它来使ID唯一:

echo "<td><input type=text name=costprice id=costprice$i onkeyup=sell(); class=price value=$e /></td>";
echo "<td><input type=text name=quantity[] class=quantity  id=quant$i value=$f /></td> ";
echo "<td><input name=txt type=text class=txt value=$t readonly /></td> ";
echo "<td><input type=text name=sellprice id=sellprice$i /></td>" ;

然后更改您的Javascript以获取指定行的参数:

function poffy(i)
{
    var d=document.getElementById("ui").value;
    var e=document.getElementById("grt").value;
    var p=parseFloat(d-e);
    var t=document.getElementById("noit").value;
    var e=p/parseFloat(t);
    for(var b=0;b<parseFloat(t);b++)
    {
        var c=document.getElementById("costprice"+i).value;
        var y=new Array();
        y[b]=c;
        var f=document.getElementById("quant"+i).value;
        var mk=new Array();
        mk[b]=f;
        var g=e/parseFloat(mk[b]);
        var h=g + parseFloat(y[b]);

        document.getElementById("sellprice"+i).value=h;
    }
}

我没有在HTML中看到您调用poffy()函数的位置。您需要更改该代码以将行号作为参数传递。

我注意到您的代码中存在另一个问题。表格底部有以下内容:

echo "<label>Number Of Items :  </label> <input type=text name=no size=6 id=noit value=&nbsp;&nbsp;$i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
echo " <label>Dealer Name :</label>&nbsp; &nbsp;<input type=text name=fetch id=fetc readonly />"; 
echo "&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  <label>Purchase Date :</label>&nbsp; &nbsp;<input name=prdt type=text size=10 class=pur value=$pd readonly /> <br><br> ";

<table>中的所有内容都必须位于<tr><td><th>元素内。您需要将这些包装器放在此行周围,或将它们移出表格。