Запрос вставки не работает в операторе if - PullRequest
0 голосов
/ 05 мая 2018

Я пытаюсь вставить в базу данных только один раз в месяц. если зарплата уже выплачена в этом месяце, то она покажет уже добавленную. если не оплачено, то он будет вставлять значения в базу данных. когда зарплата уже выплачена, она работает. она показывает уже выплаченную, но когда она не выплачена, этот код показывает недействительным. запрос вставки не работает в операторе IF

<form class="form-horizontal" action="add_payment.php" method="post" 
 name="form">
             .
             .
             .

  <div class="form-group">
     <label class="col-sm-5 control-label"></label>
     <div class="col-sm-7">
     <input type="submit" name="submit" value="Pay" class="btn btn-success">
     <a href="home_payment.php" class="btn btn-danger">Cancel</a>
   </div>
</form>

...

<?php

if(isset($_POST['submit'])!="")
{
$emp_id      = $_POST['id'];

$query7  = "SELECT * from payment where emp_id ='".$emp_id."'";
$q7 = $conn->query($query7);
$paidThisMonth = "false";
while($row7 = $q7->fetch_assoc()) {

    date_default_timezone_set("Asia/Dhaka");
    $thisMonth = date("m");
    $paidMonth = date('m', strtotime($row7['pay_date']));

    if ($paidMonth == $thisMonth && $emp_id == $row7['emp_id']) {
        $paidThisMonth = "true";

    }
    else
    {
        $paidThisMonth = "false";
    }
}


if($paidThisMonth == "false")
{

    $emp_id      = $_POST['id'];
    $pay_date      = date("m/d/Y");
    $pay_amount      = $_POST['pay'];
    $pay_method      = $_POST['pay_method'];
    $salary      = $_POST['salary'];
    $due      = $_POST['due'];

    if($due == "0"){
        $pay_status = 0;
    }
    else if($due > "0"){
        $pay_status = 1;
    }
    else if($due == $salary){
        $pay_status = 2;
    }

    $sql = $conn->query("INSERT into payment(emp_id, pay_date, pay_amount, pay_method, pay_status)VALUES('$emp_id','$pay_date','$pay_amount','$pay_method','$pay_status')");

    if($sql)
    {
        ?>
        <script>
            alert('Payment has been successfully added.');
            window.location.href='home_payment.php?page=payment_list';
        </script>
        <?php
    }
    else
    {
        ?>
        <script>
            alert('Invalid.');
            window.location.href='home_payment.php?page=payment_list';
        </script>
        <?php
    }

}
else{

    ?>
    <script>
        alert('Already paid in this month. Try again next month');
        window.location.href='home_payment.php?page=payment_list';
    </script>
    <?php

}

когда я пытаюсь сделать это без каких-либо условий, это работает.

if(isset($_POST['submit'])!="")
{
$emp_id      = $_POST['id'];
    $pay_date      = date("m/d/Y");
    $pay_amount      = $_POST['pay'];
    $pay_method      = $_POST['pay_method'];
    $salary      = $_POST['salary'];
    $due      = $_POST['due'];

    if($due == "0"){
        $pay_status = 0;
    }
    else if($due > "0"){
        $pay_status = 1;
    }
    else if($due == $salary){
        $pay_status = 2;
    }

    $sql = $conn->query("INSERT into payment(emp_id, pay_date, pay_amount, pay_method, pay_status)VALUES('$emp_id','$pay_date','$pay_amount','$pay_method','$pay_status')");

    if($sql)
    {
        ?>
        <script>
            alert('Payment has been successfully added.');
            window.location.href='home_payment.php?page=payment_list';
        </script>
        <?php
    }
    else
    {
        ?>
        <script>
            alert('Invalid.');
            window.location.href='home_payment.php?page=payment_list';
        </script>
        <?php
    }
 }

Я хочу знать, в чем проблема и каково ее решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...