将数据库中的值乘以我的文本框

时间:2013-08-29 07:27:23

标签: php mysql

我有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" >&nbsp;&nbsp;&nbsp;'.$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);
     ?>

1 个答案:

答案 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>不需要在那里)