

<?php
// connect to the database
    include('connection.php');
	include('includes/header.php');

?>


<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" style="
    padding-left: 70px;
    padding-right: 50px;
    width: 1021px;"> 
	<div class="row">
   <button style="
    margin-left: 150px;padding-left: 10px;padding-right: 10px;padding-top: 1=;padding-bottom: 10px;padding-top: 10px;">
<a href="EmployeeAdd.php" class="btn btn-lg btn-primary"><i class="fa fa-file-text"></i>Add New Employee</a>
</button>
</div>
      <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 JobTitle </h1>
		 <label for="fname">JobTitle Name</label>
    <input type="text" name="JobTitle" required placeholder="JobTitle Name...">
	

          <button type="submit" name="jobtitlessave">Save</button>
		  <input type="reset" name="" class="btn btn-danger" value="Clear Fields">
        </form>


<h1 style="
    margin-left: 150px;padding-left: 10px;padding-right: 10px;padding-top: 1=;padding-bottom: 10px;padding-top: 10px;"class="page-header"><p style="font-size:xx-large;"><span class="different-text-color" style="font-weight:bold;">JobTitle List</h1>
<?php
// connect to the database
    include('connection.php');
	
	
$sqlQuery = "SELECT id, JobTitle, JobDescription FROM jobtitles";
$resultSet = mysqli_query($conn, $sqlQuery) or die("database error:". mysqli_error($conn));
?>
<table id="editableTable" class="table table-bordered" style="font-size:1.5vw;" >
	<thead>
		<tr>
			<th style="width: 75px;">Id</th>
			<th style="width: 125px;">JobTitle</th>
			<th style="width: 200px;">JobDescription</th>
			
			
			<th style="width: 100px;" colspan="2" align="center">Operation</th>
		</tr>
	</thead>
	<tbody style="font-weight:bold;">
		<?php while( $row  = mysqli_fetch_assoc($resultSet) ) { ?>
		   <tr id="<?php echo $row ['id']; ?>">
		   <td><?php echo $row ['id']; ?></td>
		   <td><?php echo $row ['JobTitle']; ?></td>
		   <td><?php echo $row ['JobDescription']; ?></td>  
		   
		 
		   <td><a href="#=<?php echo $row["id"]; ?>"  class="btn btn-primary btn-xs glyphicon glyphicon-edit">Edit</td>
		   <td><a href="#=<?php echo $row["id"]; ?>"  class="btn btn-primary btn-xs glyphicon glyphicon-eye-open">View</td> 				   				   				  
		   </tr>
		<?php } ?>
	</tbody>
</table>
      </div>
    </div>
</body>
</html>



<script>

    $(function() {
		
     $('.notification').tooltip({
        selector: "[data-toggle=tooltip]",
        container: "body"
    })

    });
    </script>

