

<?php
// connect to the database
    include('connection.php');
	include('includes/header.php');
$sqlQuery = "SELECT JobTitle FROM jobtitles";
$resultSet = mysqli_query($conn, $sqlQuery)
?>


<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=reset] {
  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>
    <link rel="stylesheet" href="style.css">
    
  </head>
  <body>

  
    <div id="page-wrapper"> 
  
      <div class="row">
        <form action="EmployeeAction.php" method="post" enctype="multipart/form-data" >
		<h1 class="page-header"><p style="font-size:xx-large;"><span class="different-text-color" style="font-weight:bold;">Add New Employee</h1>
		
		 <label for="fname">Employee Name</label>
    <input type="text" name="EmployeeName" required placeholder="Employee Name...">
	
	<label for="number_format">Phone No</label>
    <input type="text" name="PhoneNo" placeholder="Phone No....">

	<label for="Email">Email</label>
    <input type="text" name="Email" placeholder="Email....">

	
	<label for="lname">Address</label>
    <input type="text" name="Address" placeholder="Address....">
	
	<label for="lname">Job Title</label>
	
	<select name="JobTitle" class="form-control">
			<option value="">Choose A Job Title ....</option>
            <?php while($rows = mysqli_fetch_array($resultSet)){
			?>
            <option value="<?php echo $rows['JobTitle'];?>"><?php echo $rows['JobTitle'];?></option>
			
			<?php
			}
			?>
            </select>
								
  
		<label for="lname">Salary</label>
    <input type="text" name="Salary" placeholder="Salary....">
	
          <h3>Upload File</h3>
          <input type="file" name="myfile"> <br>
          <button type="submit" name="Employeesave">Save</button>
		  <input type="reset" name="" class="btn btn-danger" value="Clear Fields">
        </form>
      </div>
	  
    </div>
	
  </body>
</html>
<script>


    $(function() {
		
     $('.notification').tooltip({
        selector: "[data-toggle=tooltip]",
        container: "body"
    })

    });
    </script>

