Created
August 30, 2022 13:34
-
-
Save moda253/900fdd79f73b06cead370e3dd01e8fbb to your computer and use it in GitHub Desktop.
update and delete operations not working
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<? | |
require "../validation/session.php"; | |
$section = 'Dispatch-View Employee Vehicle Route Link'; | |
require "../validation/section_check.php"; | |
require "../functions/dbconn.php"; | |
/* ******** Grid4PHP ******** */ | |
//require_once("../gridphp-free-latest/config.php"); | |
require_once("../gridphp-full-v2.8/config.php"); | |
// include and create object | |
//include(PHPGRID_LIBPATH."inc/jqgrid_dist.php"); | |
include("../gridphp-full-v2.8/lib/inc/jqgrid_dist.php"); | |
$db_conf = array( | |
"type" => PHPGRID_DBTYPE, | |
"server" => PHPGRID_DBHOST, | |
"user" => PHPGRID_DBUSER, | |
"password" => PHPGRID_DBPASS, | |
"database" => PHPGRID_DBNAME | |
); | |
$g = new jqgrid($db_conf); | |
// set few params | |
$opt["caption"] = "Employee Vehicle Route Link"; | |
$opt["sortname"] = "e.lname ASC,e.fname ASC,e.middle_initial"; | |
$opt["sortorder"] = "asc"; | |
$opt["add_options"]["success_msg"] = "Link added"; | |
$opt["delete_options"]["success_msg"] = "Link updated"; | |
//for default filter | |
$opt["search"] = true; | |
$opt["postData"] = array("filters" => $sarr ); | |
$opt["rowNum"] = 99999; | |
$g->set_options($opt); | |
if (in_array('Dispatch-View Employee Vehicle Route Link', $_SESSION['sections_list'])) | |
{ $g->set_actions(array("view"=>true)); | |
}else{ | |
$g->set_actions(array("view"=>false)); | |
} | |
if (in_array('Dispatch-Add Employee Vehicle Route Link', $_SESSION['sections_list'])) | |
{ $g->set_actions(array("add"=>true)); | |
}else{ | |
$g->set_actions(array("add"=>false)); | |
} | |
if (in_array('Dispatch-Edit Employee Vehicle Route Link', $_SESSION['sections_list'])) | |
{ $g->set_actions(array("edit"=>true)); | |
}else{ | |
$g->set_actions(array("edit"=>false)); | |
} | |
if (in_array('Dispatch-Delete Employee Vehicle Route Link', $_SESSION['sections_list'])) | |
{ $g->set_actions(array("delete"=>true)); | |
}else{ | |
$g->set_actions(array("delete"=>false)); | |
} | |
$g->set_actions(array( | |
"clone"=>false, | |
"bulkedit"=>false, | |
"rowactions"=>false, | |
"bulkedit"=>false, | |
"export_excel"=>true, | |
"export_pdf"=>true, | |
"export_csv"=>true, | |
"import"=>false, | |
"autofilter" => true, | |
"search" => "simple", | |
"inlineadd" => false, | |
"showhidecolumns" => true | |
)); | |
// set database table for CRUD operations | |
$g->table = "employee_vehicle_route_link"; | |
$g->select_command = " | |
select | |
evrl.employee_sak, | |
evrl.vehicle_sak, | |
evrl.routes_sak, | |
e.fname, | |
e.lname, | |
e.middle_initial, | |
concat(lname,', ',fname,' ',middle_initial) as concat_name, | |
v.vehicle_id, | |
r.route_name, | |
r.route_number | |
from | |
employee_vehicle_route_link evrl | |
inner join employee e | |
on evrl.employee_sak = e.employee_sak | |
inner join vehicles v | |
on evrl.vehicle_sak = v.vehicle_sak | |
inner join routes r | |
on evrl.routes_sak = r.routes_sak | |
"; | |
//EMPLOYEE_VEHICLE_LINK_SAK | |
$col = array(); | |
$col["title"] = "Employee Vehicle Link Sak"; // caption of column, can use HTML tags too | |
$col["name"] = "employee_vehicle_link_sak"; // grid column name, same as db field or alias from sql | |
$col["show"] = array("list"=>false, "add"=>false, "edit"=>false, "view"=>true, "bulkedit"=>false); | |
$col["editable"] = true; | |
$col["hidden"] = true; | |
$col["hidedlg"] = true; | |
$col["export"] = false; | |
$cols[] = $col; | |
//URL | |
$col = array(); | |
$col["title"] = "Name (search lname)"; // caption of column, can use HTML tags too | |
$col["name"] = "concat_name"; // grid column name, same as db field or alias from sql | |
$col["dbname"] = "concat(lname,', ',fname,' ',middle_initial)"; | |
$col["show"] = array("list"=>true, "add"=>false, "edit"=>false, "view"=>true, "bulkedit"=>false); | |
$col["template"] = "<a href='#' onclick='goEmployeeProfile({employee_sak})'>{concat_name}</a>"; | |
$col["editable"] = false; | |
$col["search"] = true; | |
$col["export"] = false; | |
$cols[] = $col; | |
//EMPLOYEE_SAK | |
$col = array(); | |
$col["title"] = "Employee"; // caption of column, can use HTML tags too | |
$col["name"] = "employee_sak"; // grid column name, same as db field or alias from sql | |
$col["show"] = array("list"=>false, "add"=>true, "edit"=>true, "view"=>false, "bulkedit"=>false); | |
$col["editable"] = true; | |
$col["editrules"] = array("required"=>true); | |
$col["hidden"] = false; | |
$col["hidedlg"] = false; | |
$col["edittype"] = "lookup"; | |
//$col["editoptions"]["sql"] = "select employee_sak as k, concat(lname,', ',fname) as v from employee where status = 'Active' order by lname, fname"; | |
# on change, update other dropdown | |
$str = $g->get_dropdown_values("select employee_sak as k, concat(lname,', ',fname) as v from employee where status = 'Active' order by lname, fname"); | |
$col["editoptions"] = array( | |
"value"=>":;".$str, | |
"onchange" => array( "sql"=>" | |
select distinct | |
vehicle_sak as k, | |
concat(vehicle_id,' - ', type) as v | |
from | |
vehicles | |
inner join vehicle_types | |
on vehicles.type = vehicle_types.type_name | |
inner join role_types | |
on vehicle_types.type_name = role_types.vehicle_type_name | |
inner join roles | |
on role_types.role_type_sak = roles.role_type_sak | |
inner join employee | |
on roles.employee_sak = employee.employee_sak | |
WHERE | |
employee.employee_sak = '{employee_sak}' | |
order by vehicles.vehicle_id ASC", | |
"update_field" => "vehicle_sak" ) | |
); | |
$col["formatter"] = "select"; // display label, not value | |
/* | |
$col["stype"] = "select"; // enable dropdown search | |
$col["searchoptions"] = array("value" => ":;".$str); | |
*/ | |
$col["search"] = true; | |
$opt["responsive"] = true; | |
$col["export"] = false; | |
$cols[] = $col; | |
//VEHICLE_SAK | |
$col = array(); | |
$col["title"] = "Vehicle"; // caption of column, can use HTML tags too | |
$col["name"] = "vehicle_sak"; // grid column name, same as db field or alias from sql | |
$col["dbname"] = "evrl.vehicle_sak"; // grid column name, same as db field or alias from sql | |
$col["show"] = array("list"=>true, "add"=>true, "edit"=>true, "view"=>false, "bulkedit"=>false); | |
$col["editable"] = true; | |
$col["hidden"] = false; | |
$col["hidedlg"] = false; | |
$col["edittype"] = "lookup"; | |
$col["editrules"] = array("required"=>true); | |
$col["editoptions"]["sql"] = "select vehicle_sak as k, concat(vehicle_id,' ',type) as v from vehicles order by vehicle_id"; | |
$col["export"] = false; | |
$cols[] = $col; | |
//ROUTE_SAK | |
$col = array(); | |
$col["title"] = "Route"; // caption of column, can use HTML tags too | |
$col["name"] = "routes_sak"; // grid column name, same as db field or alias from sql | |
$col["dbname"] = "evrl.routes_sak"; // grid column name, same as db field or alias from sql | |
$col["show"] = array("list"=>true, "add"=>true, "edit"=>true, "view"=>false, "bulkedit"=>false); | |
$col["editable"] = true; | |
$col["hidden"] = false; | |
$col["hidedlg"] = false; | |
$col["edittype"] = "lookup"; | |
$col["editrules"] = array("required"=>true); | |
$col["editoptions"]["sql"] = "select routes_sak as k, concat(route_number,' ',route_name) as v from routes order by route_number"; | |
$col["export"] = false; | |
$cols[] = $col; | |
// pass the cooked columns to grid | |
$g->set_columns($cols); | |
// Transactions operations | |
// add transaction after insert | |
$e["on_after_insert"] = array("insert_add_transaction", null, true); | |
$g->set_events($e); | |
function insert_add_transaction($data) | |
{ | |
global $g; | |
$g->execute_query("INSERT INTO transactions | |
(item_sak | |
, item_type | |
,transtype | |
,transcode | |
,trans_date | |
,trans_detail | |
, performed_by) | |
VALUES | |
((select max(employee_vehicle_link_sak) from employee_vehicle_link) | |
, 'dispatch' | |
, 'EVRL' | |
, '001' | |
, NOW() | |
, 'Employee Sak = {$data['params']['employee_sak']}, | |
Vehicle Sak = {$data['params']['vehicle_sak']}, | |
Route Sak = {$data['params']['route_sak']}' | |
, $_SESSION[accounts_sak] | |
)" | |
); | |
} | |
//add transaction record after update | |
$e["on_update"] = array("insert_edit_transaction", null, true); | |
$g->set_events($e); | |
function insert_edit_transaction($data) | |
{ | |
global $g; | |
$g->execute_query("INSERT INTO transactions | |
(item_sak | |
, item_type | |
,transtype | |
,transcode | |
,trans_date | |
,trans_detail | |
, performed_by) | |
VALUES | |
({$data["employee_vehicle_link_sak"]} | |
, 'dispatch' | |
, 'EVRL' | |
, '002' | |
, NOW() | |
, 'Employee Sak = {$data['params']['employee_sak']}, | |
Vehicle Sak = {$data['params']['vehicle_sak']}, | |
Route Sak = {$data['params']['vehicle_sak']}' | |
, $_SESSION[accounts_sak] | |
)" | |
); | |
} | |
//add transaction record after delete | |
$e["on_delete"] = array("insert_delete_transaction", null, true); | |
$g->set_events($e); | |
function insert_delete_transaction($data) | |
{ | |
global $g; | |
$g->execute_query("INSERT INTO transactions | |
(item_sak | |
, item_type | |
,transtype | |
,transcode | |
,trans_date | |
,trans_detail | |
, performed_by) | |
VALUES | |
({$data["employee_vehicle_link_sak"]} | |
, 'dispatch' | |
, 'EVRL' | |
, '003' | |
, NOW() | |
, 'Item was deleted' | |
, $_SESSION[accounts_sak] | |
)" | |
); | |
} | |
// render grid and get html/js output | |
$out = $g->render("list"); | |
/* ******** Grid4PHP ******** */ | |
?> | |
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<title>Lake Country Transportation Management Tools</title> | |
<link href="../css/style.css" rel="stylesheet" type="text/css"> | |
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.1/css/all.css"> | |
<link href="../css/div_table_style.css" rel="stylesheet" type="text/css"> | |
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"> | |
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> | |
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> | |
<link rel="manifest" href="/site.webmanifest"> | |
<!-- these css and js files are required by php grid --> | |
<link rel="stylesheet" href="../gridphp-full-v2.8/lib/js/themes/smoothness/jquery-ui.custom.css"></link> | |
<link rel="stylesheet" href="../gridphp-full-v2.8/lib/js/jqgrid/css/ui.jqgrid.css"></link> | |
<script src="../gridphp-full-v2.8/lib/js/jquery.min.js" type="text/javascript"></script> | |
<script src="../gridphp-full-v2.8/lib/js/jqgrid/js/i18n/grid.locale-en.js" type="text/javascript"></script> | |
<script src="../gridphp-full-v2.8/lib/js/jqgrid/js/jquery.jqGrid.min.js" type="text/javascript"></script> | |
<script src="../gridphp-full-v2.8/lib/js/themes/jquery-ui.custom.min.js" type="text/javascript"></script> | |
<!-- these css and js files are required by php grid --> | |
<style> | |
/* error message */ | |
.error_display { | |
color: red; | |
} | |
/* next three lines are for phpgrid */ | |
.ui-jqgrid tr.ui-row-ltr td { border-right-style:inherit !important; } | |
.ui-jqgrid tr.ui-row-rtl td { border-left-style:inherit !important; } | |
.ui-jqgrid .ui-jqgrid-pager .ui-pager-control > .ui-pg-table:nth-child(1) > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(1) {display:none}; | |
</style> | |
<script> | |
function goEmployeeProfile(whichId){ | |
//alert(whichId); | |
document.getElementById('employee_sak').value=whichId; | |
document.employee.submit(); | |
} | |
</script> | |
</head> | |
<body class="loggedin"> | |
<? | |
print ' | |
<form name="employee" method="post" action="ViewEmployeeProfile.php"> | |
<input type="hidden" name="nav_loc" value="Employee"> | |
<input type="hidden" name="section_loc" value="ViewEmployeeProfile"> | |
<input type="hidden" name="employee_sak" id="employee_sak" value=""> | |
<input type="hidden" name="concat_name" id="concat_name" value=""> | |
<input type="hidden" name="employee_id" id="employee_id" value=""> | |
</form>'; | |
// Display the Navbar | |
include("../navigation/navbar.php"); | |
// container div for the page | |
echo '<div style="margin-left:2.5%;margin-right:2.5%;margin-bottom:2.5%;">'; | |
?> | |
<div style="height: 7%"> | |
<? | |
echo $out; | |
?> | |
</div> | |
<? | |
echo "</div>" | |
?> | |
</body> | |
</html> | |
<? | |
$con->close(); | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment