0% found this document useful (0 votes)
11 views9 pages

Chapter 6

The document contains PHP code for a payroll management system, including login functionality, database connection, and CRUD operations for company, department, and employee records. It also includes SQL statements to create necessary database tables such as 'employee', 'department', 'payroll', and others. The code is structured to handle user actions and manage data related to payroll effectively.

Uploaded by

rahmansadaf46
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views9 pages

Chapter 6

The document contains PHP code for a payroll management system, including login functionality, database connection, and CRUD operations for company, department, and employee records. It also includes SQL statements to create necessary database tables such as 'employee', 'department', 'payroll', and others. The code is structured to handle user actions and manage data related to payroll effectively.

Uploaded by

rahmansadaf46
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 9

CHAPTER 6

Coding
Index.php

<?php
include('functions.php');

if(isset($_GET['page']))
$page = $_GET['page'];
else
$page = null;
if(isset($_GET['action']))
$action = $_GET['action'];
else
$action = null; //echo md5(123);
?>
<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SM PAYROLL</title>
<!-- Core CSS - Include with every page -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="font-awesome/css/font-awesome.css" rel="stylesheet">
<!-- SB Admin CSS - Include with every page -->
<link href="css/sb-admin.css" rel="stylesheet">
</head>
<body>
<div class="container">
<?php require_once 'controller/IndexController.php'; ?>
</div>
<!-- Core Scripts - Include with every page -->
<script src="js/jquery-1.10.2.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/plugins/metisMenu/jquery.metisMenu.js"></script>
<!-- SB Admin Scripts - Include with every page -->
<script src="js/sb-admin.js"></script>
</body>
</html>

Login.php

<div class="row">
<div class="col-md-4 col-md-offset-4">
<div class="login-panel panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Please Sign In</h3>
</div>
<div class="panel-body">

32 | P a g e
<form role="form" action="index.php?page=index&action=check_user_process"
method="post"> <fieldset>
<div class="form-group">
<select class="form-control" placeholder="User Type" name="user_type"
id="user_type" autofocus>

<div class="form-group">
<input class="form-control" placeholder="E-mail" name="emp_email"
type="email">
</div>
<div class="form-group">
<input class="form-control" placeholder="Password" name="password"
type="password" value="">
</div>
<div class="checkbox">
<label>
<input name="remember" type="checkbox" value="Remember
Me">Remember Me
</label>
</div>
<!-- Change this to a button or input when using this as a form -->
<button type="submit" name="submit" class="btn btn-lg btn-success btn-block">Login</button>
</fieldset>
</form>
</div>
</div>
</div>
</div>

Dbclass.php

<?php
class Model_DBClass {
public $_hostName = "localhost";
public $_userName = "root";
public $_userPass = "root123";
public $_dbName = "sm_payroll";
protected $_link;

function __construct(){
if(!$this->_link = @mysql_pconnect($this->_hostName, $this->_userName,
$this->_userPass)){
echo 'Could not connect to the database Server!';
}

mysql_select_db($this->_dbName, $this->_link);
mysql_query('SET CHARACTER SET utf8');
mysql_query("SET SESSION collation_connection= 'utf8_general_ci'");
}

33 | P a g e
public function doQuery($query){
$result = mysql_query($query, $this->_link);
return $result;
}

public function fetchObject($result){


$row = mysql_fetch_object($result);
return $row;
}

public function fetchArray($result){


$row1 = mysql_fetch_array($result);
return $row1;
}

public function numRows($result){


$num = mysql_num_rows($result);
return $num;
}
public function test_db(){
echo ("<script>window.alert('Check test DBclass successfully.');</script>");
}

function __destruct(){
//echo "<script>window.alert('Calling destructor.');</script>";
}

}
Sm_payroll_model.php

<?php
require_once 'dbclass.php';
class Model_sm_payroll extends Model_DBClass {
/*
* Function for COMPANY
*/
public function addCompany($data){
$query = "INSERT INTO company
SET
com_name = '{$data[com_name]}',
com_address = '{$data[com_address]}',
com_phone = '{$data[com_phone]}',
com_email = '{$data[com_email]}',
com_beginning= '{$data[com_beginning]}'";
$result = mysql_query($query);
return $result;
}
public function editCompany($data){
$query = "UPDATE company
SET com_name = '{$data[com_name]}',
com_address = '{$data[com_address]}',

34 | P a g e
com_phone = '{$data[com_phone]}',
com_email = '{$data[com_email]}',
com_beginning= '{$data[com_beginning]}'
WHERE com_id = '{$data[com_id]}'";
$result = mysql_query($query);
return $result;
}
public function getCompany($com_id){
$query = "SELECT * FROM company WHERE com_id='$com_id' ORDER BY com_id";
$result = mysql_query($query);
return $result;
}

/*
* Function for DEPARTMENT
*/
public function addDepartment($data){
$query = "INSERT INTO department
SET dep_name = '{$data[dep_name]}'";
$result = mysql_query($query);
return $result;
}
public function editDepartment($data){
$query = "UPDATE department
SET dep_name = '{$data[dep_name]}'
WHERE dep_id = '{$data[dep_id]}'";
$result = mysql_query($query);
return $result;
}

public function getDepartment($dep_id){


$query = "SELECT * FROM department WHERE dep_id='{$dep_id}' ORDER BY dep_id";
$result = mysql_query($query);
return $result;
}
/*
* Function for EMPLOYEE
*/
public function addEmployee($data){
$query = "INSERT INTO employee
SET
emp_com_id = '{$data[emp_com_id]}',
emp_name = '{$data[emp_name]}',
emp_father_name =
'{$data[emp_father_name]}',
emp_dep_id = '{$data[emp_dep_id]}',
emp_designation =
'{$data[emp_designation]}',
emp_joining = '{$data[emp_joining]}',
emp_sex = '{$data[emp_sex]}',
emp_dob = '{$data[emp_dob]}',

35 | P a g e
emp_blood_group =
'{$data[emp_blood_group]}',
emp_address = '{$data[emp_address]}',
emp_phone = '{$data[emp_phone]}',
emp_email = '{$data[emp_email]}'";

mysql_query($query) or die('Error in insert - '.mysql_error());


}
public function editEmployee($data){
$query = "UPDATE employee
SET
emp_com_id = '{$data[emp_com_id]}',
emp_name = '{$data[emp_name]}',
emp_father_name =
'{$data[emp_father_name]}',
emp_dep_id = '{$data[emp_dep_id]}',
emp_designation =
'{$data[emp_designation]}',
emp_joining = '{$data[emp_joining]}',
emp_sex = '{$data[emp_sex]}',
emp_dob = '{$data[emp_dob]}',
emp_blood_group =
'{$data[emp_blood_group]}',
emp_address = '{$data[emp_address]}',
emp_phone = '{$data[emp_phone]}',
emp_email = '{$data[emp_email]}'

WHERE emp_id = '{$data[emp_id]}'"; //echo $query;


exit;

mysql_query($query) or die('Error in Update - '.mysql_error());


}

public function getEmployee($emp_id){


$query = "SELECT * FROM employee WHERE emp_id='{$emp_id}' ORDER BY
emp_designation"; //echo $query;exit;
$result = mysql_query($query) or die('Error in insert - '.mysql_error());
return $result;
}
}
SQL
CREATE DATABASE IF NOT EXISTS sm_payroll;
USE sm_payroll;
CREATE TABLE `attendence` (
`att_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`att_emp_id` int(10) unsigned DEFAULT NULL,
`att_date` date NOT NULL COMMENT ' indicate the Month/Year of the attendence\r\n & also vouchar date',
`att_value` int(10) unsigned NOT NULL,
`att_status` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT ' 1 if Payroll created, 0 if Not created',
PRIMARY KEY (`att_id`),
KEY `FK_attendence_1` (`att_emp_id`),

36 | P a g e
KEY `Index_3` (`att_status`),
CONSTRAINT `FK_attendence_1` FOREIGN KEY (`att_emp_id`) REFERENCES `employee` (`emp_id`)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=latin1;

CREATE TABLE `comdep` (


`comdep_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`comdep_com_id` int(10) unsigned NOT NULL,
`comdep_dep_id` int(10) unsigned NOT NULL,
PRIMARY KEY (`comdep_id`),
KEY `FK_comdep_1` (`comdep_com_id`),
KEY `FK_comdep_2` (`comdep_dep_id`),
CONSTRAINT `FK_comdep_1` FOREIGN KEY (`comdep_com_id`) REFERENCES `company` (`com_id`)
ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `FK_comdep_2` FOREIGN KEY (`comdep_dep_id`) REFERENCES `department` (`dep_id`)
ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

CREATE TABLE `company` (


`com_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`com_name` varchar(45) NOT NULL,
`com_address` varchar(45) DEFAULT NULL,
`com_phone` varchar(45) DEFAULT NULL,
`com_email` varchar(45) DEFAULT NULL,
`com_beginning` date NOT NULL,
PRIMARY KEY (`com_id`)
) ENGINE=InnoDB AUTO_INCREMENT=158 DEFAULT CHARSET=latin1;

CREATE TABLE `department` (


`dep_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`dep_name` varchar(45) NOT NULL,
PRIMARY KEY (`dep_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;

CREATE TABLE `employee` (


`emp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`emp_com_id` int(10) unsigned NOT NULL,
`emp_dep_id` int(10) unsigned NOT NULL,
`emp_name` varchar(25) NOT NULL,
`emp_father_name` varchar(25) DEFAULT NULL,
`emp_designation` varchar(25) DEFAULT NULL,
`emp_joining` date DEFAULT NULL,
`emp_sex` varchar(10) DEFAULT NULL,
`emp_dob` date DEFAULT NULL,
`emp_blood_group` varchar(10) DEFAULT NULL,
`emp_address` varchar(45) DEFAULT NULL,
`emp_phone` varchar(45) NOT NULL,
`emp_email` varchar(45) NOT NULL,
PRIMARY KEY (`emp_id`),
KEY `FK_employee_1` (`emp_com_id`),
KEY `FK_employee_2` (`emp_dep_id`),
CONSTRAINT `FK_employee_1` FOREIGN KEY (`emp_com_id`) REFERENCES `company` (`com_id`)
ON DELETE CASCADE ON UPDATE CASCADE,

37 | P a g e
CONSTRAINT `FK_employee_2` FOREIGN KEY (`emp_dep_id`) REFERENCES `department` (`dep_id`)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=latin1;

DROP TABLE IF EXISTS `payhead`;


CREATE TABLE `payhead` (
`payh_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`payh_name` varchar(45) NOT NULL,
`payh_calculation_type` tinyint(3) unsigned NOT NULL COMMENT '1=Attendance, 2=On Computed ,
3=Flat Rate, 4=User Defined [ 5=Loan( reducing upto loan amount), 6=PF( increasing PF amount) ]',
`payh_e_or_d` tinyint(3) unsigned NOT NULL COMMENT '1=earning, 2=deduction',
PRIMARY KEY (`payh_id`),
KEY `Index_2` (`payh_id`,`payh_calculation_type`),
KEY `Index_3` (`payh_e_or_d`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;

CREATE TABLE `payhead_details` (


`payh_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`payh_computed_on` int(10) unsigned NOT NULL COMMENT 'list of existing payh_id',
`payh_parcentage` int(11) unsigned NOT NULL,
PRIMARY KEY (`payh_id`),
KEY `Index_2` (`payh_id`,`payh_computed_on`),
CONSTRAINT `FK_payhead_details_1` FOREIGN KEY (`payh_id`) REFERENCES `payhead` (`payh_id`)
ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;

CREATE TABLE `payroll` (


`payr_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`payr_emp_id` int(10) unsigned NOT NULL,
`payr_att_id` int(10) unsigned NOT NULL,
`payr_sal_id` int(10) unsigned NOT NULL,
`payr_amount` double unsigned NOT NULL,
`payr_date` date NOT NULL,
PRIMARY KEY (`payr_id`),
KEY `FK_payroll_1` (`payr_att_id`),
KEY `FK_payroll_2` (`payr_sal_id`),
KEY `FK_payroll_3` (`payr_emp_id`),
CONSTRAINT `FK_payroll_1` FOREIGN KEY (`payr_att_id`) REFERENCES `attendence` (`att_id`) ON
DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `FK_payroll_2` FOREIGN KEY (`payr_sal_id`) REFERENCES `salary` (`sal_id`) ON
DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `FK_payroll_3` FOREIGN KEY (`payr_emp_id`) REFERENCES `employee` (`emp_id`) ON
DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=latin1;

CREATE TABLE `salary` (


`sal_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`sal_emp_id` int(10) unsigned NOT NULL,
`sal_payh_id` int(10) unsigned NOT NULL,
`sal_effective_date` date NOT NULL,
PRIMARY KEY (`sal_id`),
KEY `FK_salary_2` (`sal_payh_id`),

38 | P a g e
KEY `Index_4` (`sal_emp_id`,`sal_payh_id`),
CONSTRAINT `FK_salary_1` FOREIGN KEY (`sal_emp_id`) REFERENCES `employee` (`emp_id`) ON
DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `FK_salary_2` FOREIGN KEY (`sal_payh_id`) REFERENCES `payhead` (`payh_id`) ON
DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;

CREATE TABLE `salary_details` (


`sal_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`sal_base_amount` double NOT NULL,
`sal_update_amount` double DEFAULT '0',
PRIMARY KEY (`sal_id`),
CONSTRAINT `FK_salary_details_1` FOREIGN KEY (`sal_id`) REFERENCES `salary` (`sal_id`) ON
DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;

CREATE TABLE `user` (


`user_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_emp_id` int(10) unsigned NOT NULL,
`user_type` varchar(45) NOT NULL,
`user_password` varchar(45) NOT NULL,
`user_passwordmd5` varchar(45) NOT NULL,
PRIMARY KEY (`user_id`),
KEY `FK_user_1` (`user_emp_id`),
CONSTRAINT `FK_user_1` FOREIGN KEY (`user_emp_id`) REFERENCES `employee` (`emp_id`) ON
DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;

39 | P a g e

You might also like