我有1个名为sales的表,其中的ff字段是
id | total_fields | 1 | 100 |
现在我的问题是如何将文本框中的值乘以表的值“total_fields”。我想要的是当我从第60行的文本框输入值并单击第66行的updatesale.php时我的“total_fields”的值必须乘以我在文本框中输入的值。所以,如果我输入2“total_fields”必须是200,如果我输入3“total_fields”必须是300.我尝试了任何我学到的东西,但我无法得到我正在寻找的东西。任何想法对我都很有帮助。
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("inventory", $con);
$f=$_SESSION['SESS_MEMBER_ID'];
$result = mysql_query("SELECT * FROM sales where code = '".$f."' GROUP BY pcode");
function formatMoney($number, $fractional=false) {
if ($fractional) {
$number = sprintf('%.2f', $number);
}
while (true) {
$replaced = preg_replace('/(-?\d+)(\d\d\d)/', '$1,$2', $number);
if ($replaced != $number) {
$number = $replaced;
} else {
break;
}
}
return $number;
}
while($row = mysql_fetch_array($result))
{
$pcode = $row['pcode'];
$totalretail = 0;
$qty_tot = 0;
$rr_tot = 0;
$vats_tot = 0;
$final_tot = 0;
$item_amount = 0;
$result_info = mysql_query("SELECT * FROM sales where pcode = '".$pcode."'");
while($row_info = mysql_fetch_array($result_info)){
$name = $row_info['name'];
$qty = $row_info['qty'];
$ppp=$row_info['PRICE'];
$rr=$row_info['total'];
$id = $row_info["id"];
$vats = $row_info["vats"];
$percent = $row_info["percent"];
$qty_tot += $qty;
$rr_tot += $ppp;
$item_amount += $ppp;
$totalretail += $rr;
$vats_tot += $vats;
}
echo '<tr>';
echo '<td style = "background-image:url(images/buts1.png);border:0px;"><div align="center" style = "color:black">'.$pcode.'</div></td>';
echo '<td style = "background-image:url(images/buts1.png);border:0px;><div align="center" > '.$name.'</div></td>';
echo '<td style = "background-image:url(images/buts1.png);border:0px;><div align="center">'.$qty_tot.'</div></td>';
echo '</div></td>';
echo '<td>'.$vats_tot.'</td>';
echo '<input type = "text" name = "multiply" style = "width:30px;"/>';
echo '</div></td>';
echo '<td style = "border:0px;background-image:url(images/buts1.png)">';
echo formatMoney ($totalretail , true);
echo '</div></td>';
echo '<td style = "background-image:url(images/buts1.png);border:0px;">';
echo '<a href=updatesales.php?id=' . $row["id"] .'>update |</a>';
echo '<a href=delete.php?id=' . $row["id"] .'>Cancel</a>';
echo '</td>';
echo '</tr>';
}
mysql_close($con);
?>
答案 0 :(得分:0)
我不完全清楚你遇到了什么问题,但我假设你想在服务器上(而不是在浏览器中)进行计算,并且可能将乘法值保存回数据库,并且您是否在将用户输入的值输入PHP代码时遇到问题?对不起,如果我误解了 - 如果有的话,你可能想稍微澄清一下你的问题。
看起来您的代码会发出一个HTML表格的单行,其中包含一些指向其他PHP脚本的链接,但它不包含表单。您应该将输入放在表单中,将其action属性设置为相应的脚本(例如action='updatesales.php?id='.$row['id']
)&amp;其method="post"
,并使用提交按钮(<input type="submit" value="update" />
,也在<form>
内)替换您在第66行发出的链接。
这意味着当您单击“提交”按钮时,HTTP POST将发送到您的updatesales脚本。然后,您可以访问文本框的值(如果您使用的是Web框架,它可能有自己喜欢的方法;如果没有,您可以使用$_POST['multiply']
)。该值将是一个字符串,因此您可能希望将其转换为intval()
或floatval()
。
此时,您可以执行乘法操作,并根据结果值执行任何操作 - 我不完全清楚您的问题是什么。
(另外,回显的HTML看起来无效 - 我认为有一些</div></td>
不需要在那里)