繁体   English   中英

如何根据给定条件向mysql插入数据?

[英]How to insert data to mysql based on given condition?

好吧,如果客户支付他每月的账单,我将数据插入到client_pay_bill表中。

所以例如

今天是2016-08-29

如果客户的账单是700而他支付的钱比他每月的账单多,例如1800那么我想将此分成1800 / 700 因此, pay_amountbill_monthdue_amount列数据将按以下方式插入3次:

表格:clients_pay_bill

pay_amount    bill_month     due_amount
=======================================
700           2016-08-29     0
700           2016-09-29     0
400           2016-10-29     0

否则,如果他每月仅支付700或更少的账单,那么我要运行else语句700

因此,我无法确定查询的外观。 波纹管是我的代码(未完成)

$entry_date = time();

if($advance_amount >  $monthly_bill) {

    $counting_month = round($advance_amount / $monthly_bill);
    $advance_amount .= $ad;

    for ($x=0; $x<=$counting_month; $x++) {
        $r = $advance_amount - $monthly_bill;                       
        $ad = $r;

        $insert_to_month = mysqli_query($conn, "INSERT INTO     
        clients_pay_bill (client_id, pay_amount, bill_month, receipt_no, 
        entry_date, uid, remark) VALUES('$client_id', '', '', '', '', '', 
        '' ) ");
    }
} else {
    $insert = mysqli_query($conn, "INSERT INTO clients_pay_bill (client_id, 
    pay_amount, discount_amount, due_amount, advance_amount, bill_month, 
    receipt_no, entry_date, is_paid, uid, remark) VALUES('$client_id', 
   '$paid_amount', '$discount_amount', '$due_amount', '$advance_amount', 
   '$bill_month', '$receipt_no', '$entry_date', '1', '$uid', '$remark'  ) 
"); 
}

尝试这个

 $entry_date = date("Y-m-d");

if($advance_amount >  $monthly_bill) {

$counting_month = round($advance_amount / $monthly_bill);
$advance_amount .= $ad;

for ($x=0; $x<=$counting_month; $x++) { //This loop will run for 700 700
    $r = $advance_amount - $monthly_bill;                       
    $ad = $r;
    $forOdNextMonth= date('m', strtotime("+".$x." month", strtotime($entry_date )));
    $insert_to_month = mysqli_query($conn, "INSERT INTO     
    clients_pay_bill (client_id, pay_amount, bill_month, receipt_no, 
    entry_date, uid, remark) VALUES('$client_id', '$monthly_bill;', '$forOdNextMonth', '$receipt_no', '$entry_date', '$uid', '$remark' ) ");
}if($r>0){ //This loop will run for remaining amount 400 as amount will be 1800

$forOdNextMonth= date('m', strtotime("+".($x+1)." month", strtotime($entry_date )));
 $insert_to_month = mysqli_query($conn, "INSERT INTO     
    clients_pay_bill (client_id, pay_amount, bill_month, receipt_no, 
    entry_date, uid, remark) VALUES('$client_id', '$r', '$forOdNextMonth', '$receipt_no', '$entry_date', '$uid', '$remark' ) ");
 }
 } else {
$insert = mysqli_query($conn, "INSERT INTO clients_pay_bill (client_id, 
pay_amount, discount_amount, due_amount, advance_amount, bill_month, 
receipt_no, entry_date, is_paid, uid, remark) VALUES('$client_id', 
'$paid_amount', '$discount_amount', '$due_amount', '$advance_amount', 
'$bill_month', '$receipt_no', '$entry_date', '1', '$uid', '$remark'  ) 
"); 
}

关于分钱的TESTCODE

<?php
$amount=1800;
$monthlybill=700;
for($i=0;$i<$amount/$monthlybill;$i++)
{
echo"paid for ".($i+1)." month =".$monthlybill."<br>";
$amount-=$monthlybill;
}
if($amount>0){

    echo"paid for ".($i+1)." month =".$amount;
    }



?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM