Skip to content

Commit 4e85e43

Browse files
Version 2.4 Dashboard Counts & Totals Added
1 parent c39c7f0 commit 4e85e43

File tree

7 files changed

+166
-60
lines changed

7 files changed

+166
-60
lines changed

cottage.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@
4646
<div class="card-body">
4747
<div class="row align-items-center no-gutters">
4848
<div class="col me-2">
49-
<div class="text-uppercase text-primary fw-bold text-xs mb-1"><span>TOP COTTAGE</span></div>
50-
<div class="text-dark fw-bold h5 mb-0"><span>&lt;cottage&gt;</span></div>
49+
<div class="text-uppercase text-primary fw-bold text-xs mb-1"><span>TOTAL COTTAGE</span></div>
50+
<div class="text-dark fw-bold h5 mb-0"><span><?php echo get_total_cottage() ?? 0 ?></span></div>
5151
</div>
5252
<div class="col-auto"><i class="fas fa-calendar fa-2x text-gray-300"></i></div>
5353
</div>
@@ -60,7 +60,7 @@
6060
<div class="row align-items-center no-gutters">
6161
<div class="col me-2">
6262
<div class="text-uppercase text-warning fw-bold text-xs mb-1"><span>NEW COTTAGE</span></div>
63-
<div class="text-dark fw-bold h5 mb-0"><span>&lt;cottage&gt;</span></div>
63+
<div class="text-dark fw-bold h5 mb-0"><span><?php echo new_cottage() ?? 'None' ?></span></div>
6464
</div>
6565
<div class="col-auto"><i class="fas fa-user-friends fa-2x text-gray-300"></i></div>
6666
</div>

customer.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
<div class="row align-items-center no-gutters">
4848
<div class="col me-2">
4949
<div class="text-uppercase text-primary fw-bold text-xs mb-1"><span>TOP CUSTOMER</span></div>
50-
<div class="text-dark fw-bold h5 mb-0"><span>&lt;customer&gt;</span></div>
50+
<div class="text-dark fw-bold h5 mb-0"><span><?php echo get_top_customer() ?? 'None' ?></span></div>
5151
</div>
5252
<div class="col-auto"><i class="fas fa-calendar fa-2x text-gray-300"></i></div>
5353
</div>
@@ -60,7 +60,7 @@
6060
<div class="row align-items-center no-gutters">
6161
<div class="col me-2">
6262
<div class="text-uppercase text-warning fw-bold text-xs mb-1"><span>TOTAL CUSTOMER</span></div>
63-
<div class="text-dark fw-bold h5 mb-0"><span>0</span></div>
63+
<div class="text-dark fw-bold h5 mb-0"><span><?php echo get_total_customer() ?? 0 ?></span></div>
6464
</div>
6565
<div class="col-auto"><i class="fas fa-user-circle fa-2x text-gray-300"></i></div>
6666
</div>
@@ -73,7 +73,7 @@
7373
<div class="row align-items-center no-gutters">
7474
<div class="col me-2">
7575
<div class="text-uppercase text-warning fw-bold text-xs mb-1"><span>NEW CUSTOMER</span></div>
76-
<div class="text-dark fw-bold h5 mb-0"><span>&lt;customer&gt;</span></div>
76+
<div class="text-dark fw-bold h5 mb-0"><span><?php echo new_customer() ?? 'None' ?></span></div>
7777
</div>
7878
<div class="col-auto"><i class="fas fa-user-friends fa-2x text-gray-300"></i></div>
7979
</div>

functions/chart/get-chart.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<?php

functions/data/get-data.php

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,3 +104,84 @@ function get_sales($period = 'monthly') {
104104

105105
return number_format($result['total'], 2);
106106
}
107+
108+
function get_total_customer(){
109+
global $db;
110+
$sql = "SELECT COUNT(*) AS total FROM customers";
111+
$statement = $db->prepare($sql);
112+
$statement->execute();
113+
$result = $statement->fetch();
114+
return $result['total'];
115+
}
116+
117+
function new_customer(){
118+
global $db;
119+
$sql = "SELECT * FROM customers ORDER BY id DESC LIMIT 1";
120+
$statement = $db->prepare($sql);
121+
$statement->execute();
122+
$result = $statement->fetch();
123+
return $result['fullname'];
124+
}
125+
126+
function get_total_cottage(){
127+
global $db;
128+
$sql = "SELECT COUNT(*) AS total FROM cottages";
129+
$statement = $db->prepare($sql);
130+
$statement->execute();
131+
$result = $statement->fetch();
132+
return $result['total'];
133+
}
134+
135+
function new_cottage(){
136+
global $db;
137+
$sql = "SELECT * FROM cottages ORDER BY id DESC LIMIT 1";
138+
$statement = $db->prepare($sql);
139+
$statement->execute();
140+
$result = $statement->fetch();
141+
return $result['name'];
142+
}
143+
144+
function get_total_users(){
145+
global $db;
146+
$sql = "SELECT COUNT(*) AS total FROM users";
147+
$statement = $db->prepare($sql);
148+
$statement->execute();
149+
$result = $statement->fetch();
150+
return $result['total'];
151+
}
152+
153+
function new_user(){
154+
global $db;
155+
$sql = "SELECT * FROM users ORDER BY id DESC LIMIT 1";
156+
$statement = $db->prepare($sql);
157+
$statement->execute();
158+
$result = $statement->fetch();
159+
return $result['username'];
160+
}
161+
162+
function get_top_customer(){
163+
global $db;
164+
$sql = "SELECT c.fullname, COUNT(*) AS total FROM transactions t
165+
JOIN customers c ON t.customer_id = c.id
166+
WHERE t.status = 'Pending'
167+
GROUP BY c.fullname
168+
ORDER BY total DESC
169+
LIMIT 1";
170+
$statement = $db->prepare($sql);
171+
$statement->execute();
172+
$result = $statement->fetch();
173+
return $result['fullname'];
174+
}
175+
176+
function get_top_cottage(){
177+
global $db;
178+
$sql = "SELECT c.name, COUNT(*) AS total FROM rentals r
179+
JOIN cottages c ON r.cottage_id = c.id
180+
GROUP BY c.name
181+
ORDER BY total DESC
182+
LIMIT 1";
183+
$statement = $db->prepare($sql);
184+
$statement->execute();
185+
$result = $statement->fetch();
186+
return $result['name'];
187+
}

functions/tables/datatables.php

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22
include_once 'functions/connection.php';
33
include_once 'functions/data/get-data.php';
4-
4+
include_once 'functions/chart/get-chart.php';
55
function user_logs(){
66
global $db;
77
$sql = 'SELECT * FROM logs';
@@ -140,3 +140,59 @@ function transaction_list(){
140140
}
141141
}
142142
}
143+
144+
145+
function get_top_customers(){
146+
global $db;
147+
$sql = "SELECT c.fullname, COUNT(*) AS total FROM transactions t
148+
JOIN customers c ON t.customer_id = c.id
149+
WHERE t.status = 'Pending'
150+
GROUP BY c.fullname
151+
ORDER BY total DESC
152+
LIMIT 3";
153+
$statement = $db->prepare($sql);
154+
$statement->execute();
155+
$results = $statement->fetchAll(); // Fetch all results
156+
157+
foreach ($results as $row) {
158+
?>
159+
<li class="list-group-item">
160+
<div class="row align-items-center no-gutters">
161+
<div class="col me-2">
162+
<h6 class="mb-0"><strong><?php echo $row['fullname']?></strong></h6>
163+
<span class="text-xs">RENT COUNT : <?php echo $row['total']?></span>
164+
</div>
165+
<div class="col-auto"><i class="fas fa-star"></i></div>
166+
</div>
167+
</li>
168+
<?php
169+
}
170+
}
171+
172+
173+
function get_top_cottages(){
174+
global $db;
175+
$sql = "SELECT c.name, COUNT(*) AS total FROM rentals r
176+
JOIN cottages c ON r.cottage_id = c.id
177+
GROUP BY c.name
178+
ORDER BY total DESC
179+
LIMIT 3";
180+
$statement = $db->prepare($sql);
181+
$statement->execute();
182+
$results = $statement->fetchAll();
183+
184+
foreach ($results as $row) {
185+
?>
186+
<li class="list-group-item">
187+
<div class="row align-items-center no-gutters">
188+
<div class="col me-2">
189+
<h6 class="mb-0"><strong><?php echo $row['name']?></strong></h6>
190+
<i class="far fa-credit-card"></i>
191+
<span class="text-xs">RENT COUNT: <?php echo $row['total']?></span>
192+
</div>
193+
<div class="col-auto"><i class="fas fa-star"></i></div>
194+
</div>
195+
</li>
196+
<?php
197+
}
198+
}

index.php

Lines changed: 7 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<?php
22
include_once 'functions/menu/offcanva-menu.php';
33
include_once 'functions/authentication.php';
4+
include_once 'functions/tables/datatables.php';
45
?>
56
<!DOCTYPE html>
67
<html data-bs-theme="light" lang="en">
@@ -46,7 +47,7 @@
4647
<div class="row align-items-center no-gutters">
4748
<div class="col me-2">
4849
<div class="text-uppercase text-primary fw-bold text-xs mb-1"><span>Earnings (monthly)</span></div>
49-
<div class="text-dark fw-bold h5 mb-0"><span>$40,000</span></div>
50+
<div class="text-dark fw-bold h5 mb-0"><span>$<?php echo get_sales() ?? 0 ?></span></div>
5051
</div>
5152
<div class="col-auto"><i class="fas fa-calendar fa-2x text-gray-300"></i></div>
5253
</div>
@@ -59,7 +60,7 @@
5960
<div class="row align-items-center no-gutters">
6061
<div class="col me-2">
6162
<div class="text-uppercase text-success fw-bold text-xs mb-1"><span>Earnings (annual)</span></div>
62-
<div class="text-dark fw-bold h5 mb-0"><span>$215,000</span></div>
63+
<div class="text-dark fw-bold h5 mb-0"><span>$<?php echo get_sales('annual') ?? 0 ?></span></div>
6364
</div>
6465
<div class="col-auto"><i class="fas fa-ruble-sign fa-2x text-gray-300"></i></div>
6566
</div>
@@ -72,7 +73,7 @@
7273
<div class="row align-items-center no-gutters">
7374
<div class="col me-2">
7475
<div class="text-uppercase text-warning fw-bold text-xs mb-1"><span>TOTAL CUSTOMER</span></div>
75-
<div class="text-dark fw-bold h5 mb-0"><span>0</span></div>
76+
<div class="text-dark fw-bold h5 mb-0"><span><?php echo get_total_customer() ?? 0 ?></span></div>
7677
</div>
7778
<div class="col-auto"><i class="fas fa-user-circle fa-2x text-gray-300"></i></div>
7879
</div>
@@ -85,7 +86,7 @@
8586
<div class="row align-items-center no-gutters">
8687
<div class="col me-2">
8788
<div class="text-uppercase text-warning fw-bold text-xs mb-1"><span>NEW CUSTOMER</span></div>
88-
<div class="text-dark fw-bold h5 mb-0"><span>&lt;customer&gt;</span></div>
89+
<div class="text-dark fw-bold h5 mb-0"><span><?php echo new_customer() ?? 'None' ?></span></div>
8990
</div>
9091
<div class="col-auto"><i class="fas fa-user-friends fa-2x text-gray-300"></i></div>
9192
</div>
@@ -100,30 +101,7 @@
100101
<h6 class="text-primary fw-bold m-0">Top &lt;int&gt; Cottage</h6>
101102
</div>
102103
<ul class="list-group list-group-flush">
103-
<li class="list-group-item">
104-
<div class="row align-items-center no-gutters">
105-
<div class="col me-2">
106-
<h6 class="mb-0"><strong>&lt;cotage&gt;</strong></h6><span class="text-xs">RENT COUNT : &lt;int&gt;</span>
107-
</div>
108-
<div class="col-auto"><i class="fas fa-star"></i></div>
109-
</div>
110-
</li>
111-
<li class="list-group-item">
112-
<div class="row align-items-center no-gutters">
113-
<div class="col me-2">
114-
<h6 class="mb-0"><strong>&lt;cotage&gt;</strong></h6><span class="text-xs">RENT COUNT : &lt;int&gt;</span>
115-
</div>
116-
<div class="col-auto"><i class="fas fa-star"></i></div>
117-
</div>
118-
</li>
119-
<li class="list-group-item">
120-
<div class="row align-items-center no-gutters">
121-
<div class="col me-2">
122-
<h6 class="mb-0"><strong>&lt;cotage&gt;</strong></h6><span class="text-xs">RENT COUNT : &lt;int&gt;</span>
123-
</div>
124-
<div class="col-auto"><i class="fas fa-star"></i></div>
125-
</div>
126-
</li>
104+
<?php get_top_customers() ?>
127105
</ul>
128106
</div>
129107
</div>
@@ -133,30 +111,7 @@
133111
<h6 class="text-primary fw-bold m-0">Top &lt;customer&gt;</h6>
134112
</div>
135113
<ul class="list-group list-group-flush">
136-
<li class="list-group-item">
137-
<div class="row align-items-center no-gutters">
138-
<div class="col me-2">
139-
<h6 class="mb-0"><strong>&lt;customer&gt;</strong></h6><i class="far fa-credit-card"></i><span class="text-xs">&nbsp;RENT COUNT: &lt;int&gt;</span>
140-
</div>
141-
<div class="col-auto"><i class="fas fa-star"></i></div>
142-
</div>
143-
</li>
144-
<li class="list-group-item">
145-
<div class="row align-items-center no-gutters">
146-
<div class="col me-2">
147-
<h6 class="mb-0"><strong>&lt;customer&gt;</strong></h6><i class="far fa-credit-card"></i><span class="text-xs">&nbsp;RENT COUNT: &lt;int&gt;</span>
148-
</div>
149-
<div class="col-auto"><i class="fas fa-star"></i></div>
150-
</div>
151-
</li>
152-
<li class="list-group-item">
153-
<div class="row align-items-center no-gutters">
154-
<div class="col me-2">
155-
<h6 class="mb-0"><strong>&lt;customer&gt;</strong></h6><i class="far fa-credit-card"></i><span class="text-xs">&nbsp;RENT COUNT: &lt;int&gt;</span>
156-
</div>
157-
<div class="col-auto"><i class="fas fa-star"></i></div>
158-
</div>
159-
</li>
114+
<?php get_top_cottages() ?>
160115
</ul>
161116
</div>
162117
</div>

users.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,20 @@
4747
<div class="row align-items-center no-gutters">
4848
<div class="col me-2">
4949
<div class="text-uppercase text-primary fw-bold text-xs mb-1"><span>TOTAL USERS</span></div>
50-
<div class="text-dark fw-bold h5 mb-0"><span>&lt;user&gt;</span></div>
50+
<div class="text-dark fw-bold h5 mb-0"><span><?php echo get_total_users() ?? 0 ?></span></div>
51+
</div>
52+
<div class="col-auto"><i class="fas fa-calendar fa-2x text-gray-300"></i></div>
53+
</div>
54+
</div>
55+
</div>
56+
</div>
57+
<div class="col-md-6 col-xl-3 mb-4">
58+
<div class="card shadow border-start-primary py-2" data-bs-toggle="tooltip" data-bss-tooltip="" title="Here you can see your montly earnings.">
59+
<div class="card-body">
60+
<div class="row align-items-center no-gutters">
61+
<div class="col me-2">
62+
<div class="text-uppercase text-primary fw-bold text-xs mb-1"><span>NEW USERS</span></div>
63+
<div class="text-dark fw-bold h5 mb-0"><span><?php echo new_user() ?? 0 ?></span></div>
5164
</div>
5265
<div class="col-auto"><i class="fas fa-calendar fa-2x text-gray-300"></i></div>
5366
</div>

0 commit comments

Comments
 (0)