gpt4 book ai didi

javascript - 使用JS计算不显示

转载 作者:行者123 更新时间:2023-11-30 00:38:52 24 4
gpt4 key购买 nike

我正在尝试用 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" />

最佳答案

我看到你已经有一个变量 $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>元素。您需要将这些包装器放在该行周围,或者将它们移出表格。

关于javascript - 使用JS计算不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21952690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com