
		<h3  style="font-weight:bold; text-align: center;">
	 <span class="different-text-color" style="font-weight:bold;">
	<?php 
	if(ISSET($_POST['search'])){
		$date1 = date("Y-m-d", strtotime($_POST['date1']));
		$date2 = date("Y-m-d", strtotime($_POST['date2']));
		$sql = "SELECT from employee_transations WHERE EmployeeName='" . $_SESSION['Id'] . "'AND `PaymentDate` BETWEEN '$date1' AND '$date2'";
		$result = $conn->query($sql);
		//display data on web page
		{
		echo "";
		echo "Filtter Date : From $date1 To $date2";
	}}
	?></span></h3>
		
<?php
	 include('connection.php');
	if(ISSET($_POST['search'])){
		$date1 = date("Y-m-d", strtotime($_POST['date1']));
		$date2 = date("Y-m-d", strtotime($_POST['date2']));
		$query=mysqli_query($conn, "SELECT project.ProjectName, Remarks, PaymentDate, Salary,PayAmount, project.Id, employee_transations.Id from employee_transations JOIN project on employee_transations.ProjectName=project.Id WHERE EmployeeName ='" . $_SESSION['Id'] . "' AND `PaymentDate` BETWEEN '$date1' AND '$date2'") or die(mysqli_error());
		$row=mysqli_num_rows($query);
		if($row>0){
			while($fetch=mysqli_fetch_array($query)){
?>
	<tr>
		<td><?php echo $fetch['PaymentDate']?></td>
		 
		<td><?php echo $fetch['Salary']?></td>
		<td><?php echo $fetch['PayAmount']?></td>
		<td><?php echo $fetch['ProjectName']?></td>
		<td><?php echo $fetch['Remarks']?></td>
	</tr>
	
<?php
			}
		}else{
			echo'
			<tr>
				<td class="alert-info" colspan = "5"><h3 style="font-weight:bold; text-align: center;"><center ><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="currentColor" class="bi bi-calendar-x-fill" viewBox="0 0 16 16">
  <path d="M4 .5a.5.5 0 0 0-1 0V1H2a2 2 0 0 0-2 2v1h16V3a2 2 0 0 0-2-2h-1V.5a.5.5 0 0 0-1 0V1H4V.5zM16 14V5H0v9a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2zM6.854 8.146 8 9.293l1.146-1.147a.5.5 0 1 1 .708.708L8.707 10l1.147 1.146a.5.5 0 0 1-.708.708L8 10.707l-1.146 1.147a.5.5 0 0 1-.708-.708L7.293 10 6.146 8.854a.5.5 0 1 1 .708-.708z"/>
</svg> Record Not Found!</center></h3></td>
			</tr>';
		}
	}else{
		
		
		$query=mysqli_query($conn, "SELECT project.ProjectName, Remarks, PaymentDate, Salary,PayAmount, project.Id, employee_transations.Id from employee_transations JOIN project on employee_transations.ProjectName=project.Id WHERE EmployeeName ='" . $_SESSION['Id'] . "'") or die(mysqli_error());
		while($fetch=mysqli_fetch_array($query))
		{
?>

	<tr>
		<td><?php echo $fetch['PaymentDate']?></td>
		<td><?php echo $fetch['Salary']?></td>
		<td><?php echo $fetch['PayAmount']?></td>
		<td><?php echo $fetch['ProjectName']?></td>
		<td><?php echo $fetch['Remarks']?></td>
		
		
</tr>


<?php


		}

	
		//sum of amunt filtter Salary
			

		$sql = "SELECT  SUM(Salary) from employee_transations WHERE EmployeeName='" . $_SESSION['Id'] . "'";
		$result = $conn->query($sql);
		//display data on web page
		while($row1 = mysqli_fetch_array($result)){
		echo 
		" Total Amount : ". $row1['SUM(Salary)'];
		echo "<br>";
	}
	
		//sum of amunt filtter PayAmount
		$sql = "SELECT  SUM(PayAmount) from employee_transations WHERE EmployeeName='" . $_SESSION['Id'] . "'";
		$result = $conn->query($sql);
		//display data on web page
		while($row1 = mysqli_fetch_array($result)){
	
		echo "PayAmount : ". $row1['SUM(PayAmount)'];
		echo "<br>";
	}

	
	

		
		//sum of amunt filtter Salary
		$sql = "SELECT  SUM(Salary-PayAmount) from employee_transations WHERE EmployeeName='" . $_SESSION['Id'] . "'";
		$result = $conn->query($sql);
		//display data on web page
		while($row1 = mysqli_fetch_array($result)){
		echo " Total Blance: ". $row1['SUM(Salary-PayAmount)'];
		echo "<br>";
	}
	
	

	
	}
	
?>


			<table id="customers" class="table table-bordered">
				
	
	
	<tfoot>
	<tr  style="font-weight:bold; text-align: center;" >
	
	<th>
	<h3>
	<span class="different-text-color" style="font-weight:bold;">
	<?php 
	if(ISSET($_POST['search'])){
		$date1 = date("Y-m-d", strtotime($_POST['date1']));
		$date2 = date("Y-m-d", strtotime($_POST['date2']));
		$sql = "SELECT  SUM(Salary) from employee_transations WHERE EmployeeName='" . $_SESSION['Id'] . "'AND `PaymentDate` BETWEEN '$date1' AND '$date2'";
		$result = $conn->query($sql);
		//display data on web page
		while($row1 = mysqli_fetch_array($result)){
		echo "Total Amount : ". $row1['SUM(Salary)'];
		echo "";
	}}
	?></h3></th>
		<th  style="font-weight:bold; text-align: center;"  >	
		<h3>
		<span class="different-text-color" style="font-weight:bold;">
		<?php 
	if(ISSET($_POST['search'])){
		$date1 = date("Y-m-d", strtotime($_POST['date1']));
		$date2 = date("Y-m-d", strtotime($_POST['date2']));
		$sql = "SELECT  SUM(PayAmount) from employee_transations WHERE EmployeeName='" . $_SESSION['Id'] . "'AND `PaymentDate` BETWEEN '$date1' AND '$date2'";
		$result = $conn->query($sql);
		//display data on web page
		while($row1 = mysqli_fetch_array($result)){
		echo "PayAmount : ". $row1['SUM(PayAmount)'];
		echo "";
	}}
	?></span></h3></th>
	
	
		<th  style="font-weight:bold; text-align: center;">
		<h3>
	 <span class="different-text-color" style="font-weight:bold;">
	<?php 
	if(ISSET($_POST['search'])){
		$date1 = date("Y-m-d", strtotime($_POST['date1']));
		$date2 = date("Y-m-d", strtotime($_POST['date2']));
		$sql = "SELECT  SUM(Salary-PayAmount) from employee_transations WHERE EmployeeName='" . $_SESSION['Id'] . "'AND `PaymentDate` BETWEEN '$date1' AND '$date2'";
		$result = $conn->query($sql);
		//display data on web page
		while($row1 = mysqli_fetch_array($result)){
		echo " Total (Salary-PayAmount) Blance : ". $row1['SUM(Salary-PayAmount)'];
		echo " ";
	}}
	?></span></h3></th>
		
	</tr>
	</tfoot>
	</table>
	


