php - 使用 php 表单或 mysql 查询对行执行计算

标签 php mysql

我的英语有点弱希望你能理解,因为我最后试图给出例子。请帮助我,我是这个领域的新手。谢谢你。

我有一个表格如下

<form method="post">
<p>Amount:
<input type="text" name="receive" />
Registration:
<input type="text" name="reg_number" />
<input type="submit" name="submit_amount" value="Submit" /></p>
</form>

当我提交此表单时,将运行以下查询

if(isset($_POST['submit_amount']) && count($_POST)!==0){

                $receive=$_POST['receive'];
                $reg_number=$_POST['reg_number'];

                $sql="INSERT INTO `installments`(month, amount, receive, fk_users_id)
SELECT now(), installment, $receive, id
  FROM users
 WHERE reg_number = '$reg_number'";
                $result=mysqli_query($con,$sql);
                if($result){
                    echo "<script>
                    alert('amount inserted');
                    </script>";
                    }else{
                        die(mysqli_error($con));
                        }
                }

当此查询运行时,它会在用户表的 amount 列和表单的接收列中插入值

喜欢:

installment_id |   month    | prv_arrear | amount | total | receive | arrear | fk_user_id
        1        2014-09-13                 2500               2500                1

我想根据这个公式在prv_arrear、total和arrear列中插入值

公式:

prv_arrear + amount = total

total - reveive = arrear

查看示例

installment_id |    month    | prv_arrear | amount | total | receive | arrear | fk_user_id
1                 2014-09-12       0         2500     2500     1600     900        1
1                 2014-09-13      900        2500     3400     1600     900        1

注意:当所有值都插入列中时,拖欠列的值应位于 prv_arrear 中,如上例所示。

最佳答案

这个 mysql 语句应该可以做到。或者非常接近。


INSERT INTO `installments`(month, amount, prv_arrear, total, arrear, receive, fk_users_id)
SELECT now(), installment, installments.arrear, installment+installments.arrear, installment+installments.arrear-$receive, $receive, id
  FROM users LEFT JOIN installments ON users.id=installments.fk_users_id 
 WHERE reg_number = '$reg_number'
 ORDER BY month DESC LIMIT 1"


关于php - 使用 php 表单或 mysql 查询对行执行计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25796596/

相关文章:

mysql - 从数据库中的 tag-post 表检索标签名称

mysql - 选择连接后实体数据模型向导关闭,不进入下一阶段(表/sp 选择)

php - 如何为 Azure 日志分析启用自定义 PHP laravel 日志记录

java - 以非常小的插入将大量数据插入数据库

PHP echo 禁用我的按钮?

php - 尝试通过执行 PUT 请求的 API 上传模型时文件丢失 - 多部分/表单数据请求 - Laravel/PHP

php - 我需要获取年龄之间的mysql数据

php - 在我的本地主机上安装crete5时出现SQL错误

php - 形式上的一对一关联?

php - 模块的单个集中或单独的日志表?