使用PHP / jQuery / Ajax完成编辑时,更新数据库中的值

时间:2011-12-28 02:19:56

标签: php jquery ajax

我有一张像这样的表:

  Product    SellingPrice  Cost   Profit
 Product 1        49        45      4
 Product 2        54        50      4

当我将价值列入利润列时,卖出价将计算出来。我从数据库中获取了成本值。我已经完成了使用jQuery的计算,但我仍然坚持如何在数据库中更新它。有人可以指导我关于服务器端的实现吗?

这是我的代码:

<html>
<head>
    <title>Content Management System</title>    
    <script>
            //calculate the selling price
            $(document).ready(function(){
                $('tr').each(function(){
                var result = 0;
                $(this).find("input[name=cost],input[name=profit]").each(function(){
                    result += (+$(this).val());
                });
                $(this).find("input[name=sellingprice]").val(result).css("background-color", "green");
                });     
            });
    </script>
</head>
<body>
        <table> 
            <tr>
                <td><center>ID</center></td>
                <td><center>Product</center></td>
                <td><center>Selling Price</center></td>
                <td><center>Current Cost</center></td>
                <td><center>Profit</center></td>
            </tr> 

            <?php

            $result = mysql_query("SELECT id, product, cost FROM inventory");
            while ($myrow = mysql_fetch_row($result))
            {
            ?>
                <tr>
                    <td>
                        <?php echo $myrow[0]; ?>
                    </td>
                    <td>
                        <?php echo $myrow[1]; ?>
                    </td>
                    <td>
                        <?php echo "<input type='text' name='sellingprice' size='10' readonly='true'/>"; ?>
                    </td>
                    <td>
                        <?php echo "<input type='text' name='cost' size='10' value='$myrow[2]' readonly='true'/>"; ?>
                    </td>
                    <td>
                        <?php echo "<input type='text' name='profit' size='10' />"; ?>
                    </td>   
                </tr>   
                <?php
            }
                ?>
        </table>
    </center>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

您将表格标记添加到表格行中,并在提交表单时,您可以获取/验证传入数据并通过ID在您的表格上运行UPDATE查询。此外,您需要更改输入元素以使用数组:     echo "<input type='text' name='sellingprice[".$myrow[0]."]' size='10' readonly='true'/>";

像这样......

答案 1 :(得分:0)

更改你的html并创建一个新的php文件来处理你的表单提交。 在php中通过$ _GET [“”]获取值并将它们插入表中。

<body>
<form name="some_name" id="form1" action="somephpfilename.php">
        <table> 
            <tr>
                <td><center>ID</center></td>
                <td><center>Product</center></td>
                <td><center>Selling Price</center></td>
                <td><center>Current Cost</center></td>
                <td><center>Profit</center></td>
            </tr> 

            <?php

            $result = mysql_query("SELECT id, product, cost FROM inventory");
            while ($myrow = mysql_fetch_row($result))
            {
            ?>
                <tr>
                    <td>
                        <?php echo $myrow[0]; ?>
                    </td>
                    <td>
                        <?php echo $myrow[1]; ?>
                    </td>
                    <td>
                        <?php echo "<input type='text' name='sellingprice' size='10' readonly='true'/>"; ?>
                    </td>
                    <td>
                        <?php echo "<input type='text' name='cost' size='10' value='$myrow[2]' readonly='true'/>"; ?>
                    </td>
                    <td>
                        <?php echo "<input type='text' name='profit' size='10' />"; ?>
                    </td>   
                </tr>   
                <?php
            }
                ?>
        </table>
    </center>
    <input type="submit" name="update" value="update to db">
    <form>
</body>