<?php
// connect to the database
    include('connection.php');
	include('includes/header.php');
	
	if (isset($_POST['editemployee'])){
//if(count($_POST)>0) {
mysqli_query($conn,"UPDATE employee set id='" . $_POST['id'] . "',
 EmployeeName='" . $_POST['EmployeeName'] . "',
 PhoneNo='" . $_POST['PhoneNo'] . "',
 Email='" . $_POST['Email'] . "' ,
 Address='" . $_POST['Address'] . "',
 
 JobTitle='" . $_POST['JobTitle'] . "',
 Salary='" . $_POST['Salary'] . "'
 WHERE Id='" . $_POST['id'] . "'");
$message = "Record Modified Successfully";
}
$result = mysqli_query($conn,"SELECT * FROM employee WHERE Id='" . $_GET['Id'] . "'");
$row= mysqli_fetch_array($result);


?>



<style>
form {
  margin-right:100px;
  margin:20px 100px 20px 100px;
  border-radius: 15px;
  background-color: #3c42383d;
  padding: 20px 50px 20px 50px;
}
input[type=text], select {
  width: 100%;
  padding: 12px 20px;
  margin: 8px 0;
  display: inline-block;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}

input[type=submit] {
  width: 50%;
  background-color: #4CAF50;
  color: white;
  padding: 20px;
  margin: 8px 0;
  border: 1px;
  border-radius: 15px;
  cursor: pointer;
  margin-left: 200px;
}
input[type=cancel] {
  margin-left:150px;
  margin-top:5px;
  border-radius: 15px;
  background-color: #3c42383d;
  padding: 20px 50px 20px 50px;
}

input[type=submit]:hover {
  background-color: #45a049;
}
button {
 margin-left:150px;
  margin-top:5px;
  border-radius: 15px;
  background-color: #3c42383d;
  padding: 20px 50px 20px 50px;
}
button:hover {
  background-color: #45a049;
}
form {
  width: 80%;
  border-collapse: collapse;
  margin: 100px auto;
}

</style>


<html>
<head>

</head>
<body>


<hr>
    <div id="page-wrapper"> 
   
      <div class="row">
        <form action="EmployeeAction.php" method="post" enctype="multipart/form-data" >
		
		
		<th><h1 class="page-header">
		
		
		<p class="btn btn-lg btn-primary" style="font-size:xx-large;"><span class="different-text-color" style="font-weight:bold;"><a href="EmployeeAdd.php" class="btn btn-lg btn-danger" style="font-weight:bold;"><i class="fa fa-university "></i>Add New Employee</a>*  View <?php echo $row['EmployeeName']; ?>  Employee *<a href="Employeedisplay.php" class="btn btn-lg btn-danger" style="font-weight:bold;" ><i class="bi bi-arrow-bar-up"></i>Cancel</a></h1>
</th>
		
		
		
		
		<label for="fname">Employee ID</label>
		<input type="hidden" name="id" class="txtField" value="<?php echo $row['id']; ?>">
		<input type="text" name="id"  value="<?php echo $row['Id']; ?>">
		
		
		<label for="fname">Employee Name</label>
		<input type="text" name="EmployeeName" value="<?php echo $row['EmployeeName']; ?>">
	
		<label for="lname">Phone No</label>
		<input type="text" name="PhoneNo" class="txtField" value="<?php echo $row['PhoneNo']; ?>">
	
		<label for="number_format">Email</label>
		<input type="text" name="Email" class="txtField" value="<?php echo $row['Email']; ?>">
	
		<label for="lname">Address</label>
		<input type="text" name="Address" class="txtField" value="<?php echo $row['Address']; ?>">
		
		<label for="lname">Job Title</label>
	
	<select id="JobTitle" name="JobTitle" class="form-control">
	<option value="<?php echo $row['JobTitle']; ?>"><?php echo $row['JobTitle']; ?></option>
	<?php
	$sqlQuery = "SELECT JobTitle FROM jobtitles";
	$resultSet = mysqli_query($conn, $sqlQuery)
	?>
	
            <?php while($rows = mysqli_fetch_array($resultSet)){
			?>
            <option value="<?php echo $rows['JobTitle'];?>"><?php echo $rows['JobTitle'];?></option>
			
			<?php
			}
			?>
            </select>
	
	
		<label for="fname">Salary</label>
		<input type="text" name="Salary" value="<?php echo $row['Salary']; ?>">
	
		<label >FileName</label>
	
	<td>
		<input type="file" name="FileName" value="<?php echo $row['FileName']; ?>"/>
		<img src="EmployeeImage/<?php echo $row ['FileName']; ?>" width="150px" height="100px">
	</td>

	
          <button type="submit" name="editemployee">Update</button>
		  <button><a href="Employeedisplay.php" type="cancel">Cancel</button>
		  
        </form>
      </div>
    </div>
  </body>

</html>
<script>
$("#JobTitle").select2( {
	placeholder: "Choose A JobTitle",
	allowClear: true
	} );
</script>