-
Notifications
You must be signed in to change notification settings - Fork 0
/
classnhanvien.php
168 lines (145 loc) · 6.23 KB
/
classnhanvien.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
<?php
require_once("connection.php");
class Nhanvien{
public $manv;
public $tennv;
public $diachinv;
public $sdt;
public $chucvu;
public $luong;
public function __construct($mnv,$tnv,$dcnv,$sdt,$cv,$lg){
$this->manv = $mnv;
$this->tennv = $tnv;
$this->diachinv = $dcnv;
$this->sdt = $sdt;
$this->chucvu = $cv;
$this->luong = $lg;
}
public function __destruct(){
}
// Đếm số lượng nhân viên trong hệ thống
public static function soluongnhanvien(){
$conn = DBConnection::Connect();
$sql = "SELECT COUNT(MANV) AS tongnv FROM tbnhanvien";
$result = $conn->query($sql);
if ($result && $result->num_rows > 0) {
$row = $result->fetch_assoc();
$tongnv = $row['tongnv'];
} else {
$tongnv = 0; // Nếu không có kết quả trả về, đặt tổng số khách hàng là 0
}
$conn->close();
return $tongnv;
}
// Tăng mã nhân viên tự động
public static function TangManv($conn) {
$sql = "SELECT MANV FROM tbnhanvien ORDER BY LPAD(SUBSTRING(MANV, 3), 10, '0') DESC LIMIT 1;";
$result = $conn->query($sql);
$newId = "NV1";
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
$lastId = $row["MANV"];
$number = intval(substr($lastId, 2)) + 1; // substr($lastId, 2) cắt bỏ phần NV giữ lại phần số, intval chuyển đổi phần số thành số nguyên sau đó tăng 1
$newId = "NV" . sprintf("%03d", $number);
}
return $newId;
}
// Thêm dữ liệu vào bảng nhân viên
public static function Add(Nhanvien $nv){
$success = false;
$conn = DBConnection::Connect();
$nv->manv = self::TangManv($conn);
$sql = "INSERT INTO tbnhanvien(MANV,TENNV,DIACHINV,SDT,CHUCVU,LUONG) VALUES(?,?,?,?,?,?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("sssssd",$nv->manv,$nv->tennv,$nv->diachinv,$nv->sdt,$nv->chucvu,$nv->luong);
if($success = $stmt->execute()){
echo "<script> alert('Thêm nhân viên thành công!');</script>";
}
$stmt->close();
$conn->close();
return $success;
}
// Cập nhật dư liệu nhân viên theo mã
public static function Edit(Nhanvien $nv){
$success = false;
$conn = DBConnection::Connect();
$sql = "UPDATE tbnhanvien SET TENNV = ?, DIACHINV = ?, SDT = ?, CHUCVU = ?, LUONG = ? WHERE MANV = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ssisds",$nv->tennv,$nv->diachinv,$nv->sdt,$nv->chucvu,$nv->luong,$nv->manv);
if($success = $stmt->execute()){
echo "<script> alert('Thay đổi thông tin nhân viên thành công!');</script>";
}
$stmt->close();
$conn->close();
return $success;
}
// Xóa dữ liệu nhân viên
public static function Delete(string $manv){
$success = false;
$conn = DBConnection::Connect();
$sql = "DELETE FROM tbnhanvien WHERE MANV = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s",$manv);
if($success = $stmt->execute()){
echo "<script> alert('Xóa nhân viên thành công'); </script> ";
}
$stmt->close();
$conn->close();
return $success;
}
// Lấy danh sách dữ liệu nhân viên
public static function GetAll(){
$dsnv = array();
$conn = DBConnection::Connect();
$sql = "SELECT * FROM tbnhanvien";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()){
$dsnv[] = new Nhanvien($row["MANV"],$row["TENNV"],$row["DIACHINV"],$row["SDT"],$row["CHUCVU"],$row["LUONG"]);
}
$conn->close();
return $dsnv;
}
// Lấy dữ liệu nhân viên theo mã
public static function Get(string $tim){
$dsnv = array();
$conn = DBConnection::Connect();
$sql = "SELECT * FROM tbnhanvien WHERE MANV = '$tim' ";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()){
$dsnv[] = new Nhanvien($row["MANV"],$row["TENNV"],$row["DIACHINV"],$row["SDT"],$row["CHUCVU"],$row["LUONG"]);
}
$conn->close();
return $dsnv;
}
// Tìm kiếm nhân viên theo yêu cầu
public static function GetElement(string $tim){
$dsnv = array();
$conn = DBConnection::Connect();
if($tim){
$sql = "SELECT * FROM tbnhanvien WHERE MANV LIKE '%$tim%' OR TENNV LIKE '%$tim%' OR DIACHINV LIKE '%$tim%' OR CHUCVU LIKE '%$tim%' ";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()){
$dsnv[] = new Nhanvien($row["MANV"],$row["TENNV"],$row["DIACHINV"],$row["SDT"],$row["CHUCVU"],$row["LUONG"]);
}
}
else{
$dsnv = self::GetAll();
}
$conn->close();
return $dsnv;
}
public static function GetManv(){
$dsmanv = array();
$conn = DBConnection::Connect();
$sql = "SELECT MANV, TENNV FROM tbnhanvien";
$result = $conn->query($sql);
if ($result && $result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
$dsmanv[] = $row; // Lưu cả MANV và TENNV vào mảng
}
}
$conn->close();
return $dsmanv; // Trả về danh sách nhân viên
}
}
?>