From 67ffd06c37eb93056706ed41f49d6d00dbf0e942 Mon Sep 17 00:00:00 2001 From: Jonathan Rosenbaum Date: Sat, 14 Mar 2015 19:24:47 +0000 Subject: [PATCH] Distinct values if user logins more than once - list_CurrentShopUsers 1) a user can serve in many roles, but before this change there were duplicated entries in the pull-down in transactions if that would happen. --- Connections/database_functions.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Connections/database_functions.php b/Connections/database_functions.php index ea25a34..26ff86b 100644 --- a/Connections/database_functions.php +++ b/Connections/database_functions.php @@ -168,13 +168,15 @@ define("INDIVIDUAL_HISTORY_LOG", "/individual_history_log.php"); define("PAGE_SALE_LOG", "/transaction_log.php"); define("PAGE_EDIT_LOCATION", "/location_add_edit.php"); define("PAGE_SELECT_LOCATION", "/location_add_edit_select.php"); + + //This is a general function to generate the contents of a list box based on a MySQL query. All necessary parameters for the query are passed function generate_list($querySQL,$list_value,$list_text, $form_name, $default_value) { global $database_YBDB, $YBDB; mysql_select_db($database_YBDB, $YBDB); - $recordset = mysql_query($querySQL, $YBDB) or die(mysql_error()); + $recordset = mysql_query($querySQL, $YBDB) or die(mysql_error()); $row_recordset = mysql_fetch_assoc($recordset); $totalRows_recordset = mysql_num_rows($recordset); $default_delimiter = ''; @@ -207,10 +209,11 @@ function generate_list($querySQL,$list_value,$list_text, $form_name, $default_va function list_CurrentShopUsers($form_name = "none", $default_value = "", $max_name_length = 20){ $current_shop = current_shop_by_ip(); - $querySQL = "SELECT full_name, shop_hours.contact_id ,hidden FROM shop_hours -LEFT JOIN (SELECT LEFT(CONCAT(last_name, ', ', first_name, ' ',middle_initial),$max_name_length) AS full_name, contact_id, hidden FROM contacts) as contacts ON shop_hours.contact_id=contacts.contact_id -WHERE shop_hours.shop_id = $current_shop -ORDER BY full_name;"; + $querySQL = "SELECT DISTINCT full_name, shop_hours.contact_id ,hidden FROM shop_hours + LEFT JOIN (SELECT LEFT(CONCAT(last_name, ', ', first_name, ' ',middle_initial),$max_name_length) + AS full_name, contact_id, hidden FROM contacts) as contacts ON shop_hours.contact_id=contacts.contact_id + WHERE shop_hours.shop_id = $current_shop + ORDER BY full_name;"; $list_value = "contact_id"; $list_text = "full_name"; generate_list($querySQL,$list_value,$list_text,$form_name, $default_value);