Feature: Records per page is now user specific and persists with logout/login sessions

This commit is contained in:
johnnyq 2023-08-17 19:42:42 -04:00
parent 94caee4aa6
commit ce2ba6d3d2
8 changed files with 1009 additions and 1003 deletions

View File

@ -42,6 +42,7 @@ if ($session_user_role == 3) {
} else { } else {
$session_user_role_display = "Accountant"; $session_user_role_display = "Accountant";
} }
$user_config_records_per_page = intval($row['user_config_records_per_page']);
$sql = mysqli_query($mysqli, "SELECT * FROM companies WHERE company_id = 1"); $sql = mysqli_query($mysqli, "SELECT * FROM companies WHERE company_id = 1");
$row = mysqli_fetch_array($sql); $row = mysqli_fetch_array($sql);

File diff suppressed because it is too large Load Diff

View File

@ -5,4 +5,4 @@
* It is used in conjunction with database_updates.php * It is used in conjunction with database_updates.php
*/ */
DEFINE("LATEST_DATABASE_VERSION", "0.6.9"); DEFINE("LATEST_DATABASE_VERSION", "0.7.0");

3
db.sql
View File

@ -1557,6 +1557,7 @@ DROP TABLE IF EXISTS `user_settings`;
CREATE TABLE `user_settings` ( CREATE TABLE `user_settings` (
`user_id` int(11) NOT NULL, `user_id` int(11) NOT NULL,
`user_role` int(11) NOT NULL, `user_role` int(11) NOT NULL,
`user_config_records_per_page` int(11) NOT NULL DEFAULT 10,
PRIMARY KEY (`user_id`) PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40101 SET character_set_client = @saved_cs_client */;
@ -1669,4 +1670,4 @@ CREATE TABLE `vendors` (
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2023-08-17 16:03:19 -- Dump completed on 2023-08-17 19:41:13

View File

@ -38,9 +38,4 @@ if (!empty($_SESSION['alert_message'])) {
} }
//Set Records Per Page
if (empty($_SESSION['records_per_page'])) {
$_SESSION['records_per_page'] = 10;
}
?> ?>

View File

@ -8,7 +8,7 @@
*/ */
$total_found_rows = $num_rows[0]; $total_found_rows = $num_rows[0];
$total_pages = ceil($total_found_rows / $_SESSION['records_per_page']); $total_pages = ceil($total_found_rows / $user_config_records_per_page);
if ($total_found_rows > 10) { if ($total_found_rows > 10) {
$i = 0; $i = 0;
@ -21,12 +21,12 @@ if ($total_found_rows > 10) {
<div class="col-sm mb-3"> <div class="col-sm mb-3">
<form action="post.php" method="post"> <form action="post.php" method="post">
<select onchange="this.form.submit()" class="form-control select2 col-sm-2" name="change_records_per_page"> <select onchange="this.form.submit()" class="form-control select2 col-sm-2" name="change_records_per_page">
<option <?php if ($_SESSION['records_per_page'] == 5) { echo "selected"; } ?> >5</option> <option <?php if ($user_config_records_per_page == 5) { echo "selected"; } ?> >5</option>
<option <?php if ($_SESSION['records_per_page'] == 10) { echo "selected"; } ?> >10</option> <option <?php if ($user_config_records_per_page == 10) { echo "selected"; } ?> >10</option>
<option <?php if ($_SESSION['records_per_page'] == 20) { echo "selected"; } ?> >20</option> <option <?php if ($user_config_records_per_page == 20) { echo "selected"; } ?> >20</option>
<option <?php if ($_SESSION['records_per_page'] == 50) { echo "selected"; } ?> >50</option> <option <?php if ($user_config_records_per_page == 50) { echo "selected"; } ?> >50</option>
<option <?php if ($_SESSION['records_per_page'] == 100) { echo "selected"; } ?> >100</option> <option <?php if ($user_config_records_per_page == 100) { echo "selected"; } ?> >100</option>
<option <?php if ($_SESSION['records_per_page'] == 500) { echo "selected"; } ?> >500</option> <option <?php if ($user_config_records_per_page == 500) { echo "selected"; } ?> >500</option>
</select> </select>
</form> </form>
</div> </div>

View File

@ -16,11 +16,11 @@ unset($get_copy['order']);
// Paging // Paging
if (isset($_GET['page'])) { if (isset($_GET['page'])) {
$page = intval($_GET['page']); $page = intval($_GET['page']);
$record_from = (($page)-1)*$_SESSION['records_per_page']; $record_from = (($page)-1)*$user_config_records_per_page;
$record_to = $_SESSION['records_per_page']; $record_to = $user_config_records_per_page;
} else { } else {
$record_from = 0; $record_from = 0;
$record_to = $_SESSION['records_per_page']; $record_to = $user_config_records_per_page;
$page = 1; $page = 1;
} }

View File

@ -8,7 +8,9 @@
if(isset($_POST['change_records_per_page'])){ if(isset($_POST['change_records_per_page'])){
$_SESSION['records_per_page'] = intval($_POST['change_records_per_page']); $records_per_page = intval($_POST['change_records_per_page']);
mysqli_query($mysqli,"UPDATE user_settings SET user_config_records_per_page = $records_per_page WHERE user_id = $session_user_id");
header("Location: " . $_SERVER["HTTP_REFERER"]); header("Location: " . $_SERVER["HTTP_REFERER"]);