Я пытаюсь вставить в базу данных только один раз в месяц. если зарплата уже выплачена в этом месяце, то она покажет уже добавленную. если не оплачено, то он будет вставлять значения в базу данных.
когда зарплата уже выплачена, она работает. она показывает уже выплаченную, но когда она не выплачена, этот код показывает недействительным. запрос вставки не работает в операторе 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
}
}
Я хочу знать, в чем проблема и каково ее решение.