php - Requested json parse failed:: For My SQL and MSSQL db Reporting Application -
requested json parse failed. php error encountered severity: notice
message: undefined variable: q
filename: models/dashboard_model.php
line number: 50
fatal error: call member function num_rows() on null in c:\xampp\htdocs\biostaraccess\application\controllers\dashboard.php on line 29
here code
class dashboard_model extends ci_model{ function list_events() { if($this->db->dbdriver=="mssql"){ $q = $this->db->query(" select (convert(varchar, dateadd(ss, ndatetime,'01/01/1970 00:00:00'), 105) + ' ' + convert(varchar, dateadd(ss, ndatetime,'01/01/1970 00:00:00'), 108)) dt, cast(cast(tb_event_log.nuserid binary) bigint) id, susername name, tb_user_dept.sname dept, tb_door_dept.sdepartment doorgroup, tb_door.sname door, tb_event_log.nreaderidn ndeviceid, case when tb_door_reader.ninout = '1' 'in' else 'out' end inouts, case when (tb_event_log.neventidn = '39' or tb_event_log.neventidn = '47') 'card' else 'finger' end access tb_event_log, tb_user, tb_user_dept, tb_door_reader, tb_door, tb_door_dept tb_user.suserid = tb_event_log.nuserid , tb_user_dept.ndepartmentidn = tb_user.ndepartmentidn , tb_event_log.nreaderidn = tb_door_reader.nreaderidn , tb_door.ndooridn = tb_door_reader.ndooridn , tb_door_dept.ndoordept = tb_door.ndoordept , dateadd(ss, ndatetime,'01/01/1970 00:00:00') > '".date('y-m-d h:i:s', strtotime($this->input->get('lasttime')))."' order ndatetime desc "); } if($this->db->dbdriver=="mysql"){ $q = $this->db->query(" select date_format(date_add('1970-01-01', interval ndatetime second), '%d-%m-%y %h:%i:%s') dt, tb_event_log.nuserid id, susername name, tb_user_dept.sname dept, tb_door_dept.sdepartment doorgroup, tb_door.sname door, tb_event_log.nreaderidn ndeviceid, case when tb_door_reader.ninout = '1' 'in' else 'out' end inouts, case when (tb_event_log.neventidn = '39' or tb_event_log.neventidn = '47') 'card' else 'finger' end access tb_event_log, tb_user, tb_user_dept, tb_door_reader, tb_door, tb_door_dept tb_user.suserid = tb_event_log.nuserid , tb_user_dept.ndepartmentidn = tb_user.ndepartmentidn , tb_event_log.nreaderidn = tb_door_reader.nreaderidn , tb_door.ndooridn = tb_door_reader.ndooridn , tb_door_dept.ndoordept = tb_door.ndoordept , date_format(date_add('1970-01-01', interval ndatetime second), '%y-%m-%d %h:%i:%s') > '".date('y-m-d h:i:s', strtotime($this->input->get('lasttime')))."' order ndatetime desc "); } return $q ; }}
search mode code
class search_model extends ci_model{ function get_all_doorgroups() { $this->db->select('ndoordept, sname'); $this->db->order_by('sname'); $query = $this->db->get('tb_door_dept'); $support_offices = array(); if($query->result()) { $door_groups[''] = '-- door group --'; foreach ($query->result() $door_group) { $door_groups[$door_group->ndoordept] = $door_group->sname; } return $door_groups; } else { return false; } } function list_events($limit=null, $offset=null) { if($limit==null && $offset==null){ $offsetlimit = ""; } else if($offset==null) { if($this->db->dbdriver=="mssql"): $offsetlimit = "where row_number between 1 , ".$limit; else: //mysql $offsetlimit = "limit ".$limit; endif; } else { if($this->db->dbdriver=="mssql"): $offset = $offset+1; $limit = $limit + $offset -1; $offsetlimit = "where row_number between ".$offset." , ".$limit; else: $offsetlimit = "limit ".$limit." offset ".$offset; endif; } $filter = ''; if($this->input->get('name_search') != null) { $filter = " susername '%".$this->input->get('name_search')."%' , "; } if($this->input->get('id_search') != null) { $filter .= " tb_event_log.nuserid '%".$this->input->get('id_search')."%' , "; } if($this->input->get('doorgroup_search') != null) { $filter .= " tb_door_dept.ndoordept '%".$this->input->get('doorgroup_search')."%' , "; } if(isset($_get['card_search'])){ $filter .= " (neventidn = '39' or "; $filter .= " neventidn = '47') , "; } if(isset($_get['inside_search']) && ($this->input->get('doorgroup_search')!=null) ){ $doorgroupid = $this->input->get('doorgroup_search'); $filter .= " tb_door_dept.ndoordept = '".$doorgroupid."' , "; if($this->db->dbdriver=="mssql"){ $q = $this->db->query(" ;with my_cte ( select (convert(varchar, dateadd(ss, ndatetime,'01/01/1970 00:00:00'), 105) + ' ' + convert(varchar, dateadd(ss, ndatetime,'01/01/1970 00:00:00'), 108)) dt, tb_event_log.nuserid id, susername name, tb_user_dept.sname dept, tb_door_dept.sdepartment doorgroup, tb_door.sname door, tb_event_log.nreaderidn ndeviceid, case when tb_door_reader.ninout = '1' 'in' else 'out' end inouts, case when (tb_event_log.neventidn = '39' or tb_event_log.neventidn = '47') 'card' else 'finger' end access, row_number() on (order latestdate desc) row_number tb_event_log, tb_user, tb_user_dept, tb_door_reader, tb_door, tb_door_dept, (select nuserid, max(dateadd(ss, ndatetime,'01/01/1970 00:00:00')) latestdate tb_event_log group nuserid) latestentry ".$filter." tb_user.suserid = tb_event_log.nuserid , tb_user_dept.ndepartmentidn = tb_user.ndepartmentidn , tb_event_log.nreaderidn = tb_door_reader.nreaderidn , tb_door.ndooridn = tb_door_reader.ndooridn , tb_door_dept.ndoordept = tb_door.ndoordept , tb_event_log.nuserid = latestentry.nuserid , dateadd(ss, tb_event_log.ndatetime,'01/01/1970 00:00:00') = latestentry.latestdate , tb_door_reader.ninout = '1' ) select * my_cte ".$offsetlimit." "); } if($this->db->dbdriver=="mysql"){ $q = $this->db->query(" select date_format(date_add('1970-01-01', interval ndatetime second), '%d-%m-%y %h:%i:%s') dt, tb_event_log.nuserid id, susername name, tb_user_dept.sname dept, tb_door_dept.sdepartment doorgroup, tb_door.sname door, tb_event_log.nreaderidn ndeviceid, case when tb_door_reader.ninout = '1' 'in' else 'out' end inouts, case when (tb_event_log.neventidn = '39' or tb_event_log.neventidn = '47') 'card' else 'finger' end access tb_event_log, tb_user, tb_user_dept, tb_door_reader, tb_door, tb_door_dept, (select nuserid, max(ndatetime) latestdate tb_event_log group nuserid) latestentry ".$filter." tb_user.suserid = tb_event_log.nuserid , tb_user_dept.ndepartmentidn = tb_user.ndepartmentidn , tb_event_log.nreaderidn = tb_door_reader.nreaderidn , tb_door.ndooridn = tb_door_reader.ndooridn , tb_door_dept.ndoordept = tb_door.ndoordept , tb_event_log.nuserid = latestentry.nuserid , tb_event_log.ndatetime = latestentry.latestdate , tb_door_reader.ninout = '1' order latestdate desc ".$offsetlimit." "); } return $q; } else{ if($this->input->get('dt_from_search') != null) { $fromdate = date('y-m-d h:i:s', strtotime($this->input->get('dt_from_search'))); if($this->db->dbdriver=="mssql"): $filter .= " dateadd(ss, ndatetime,'01/01/1970 00:00:00') >= '".$fromdate."' , "; else: //mysql $filter .= " date_add('1970-01-01', interval ndatetime second) >= '".$fromdate."' , "; endif; } if($this->input->get('dt_to_search') != null) { $todate = date('y-m-d h:i:s', strtotime($this->input->get('dt_to_search'))); if($this->db->dbdriver=="mssql"): $filter .= " dateadd(ss, ndatetime,'01/01/1970 00:00:00') <= '".$todate."' , "; else: //mysql $filter .= " date_add('1970-01-01', interval ndatetime second) <= '".$todate."' , "; endif; } if($this->db->dbdriver=="mssql"){ $q = $this->db->query(" ;with my_cte ( select (convert(varchar, dateadd(ss, ndatetime,'01/01/1970 00:00:00'), 105) + ' ' + convert(varchar, dateadd(ss, ndatetime,'01/01/1970 00:00:00'), 108)) dt, tb_event_log.nuserid id, susername name, tb_user_dept.sname dept, tb_door_dept.sdepartment doorgroup, tb_door.sname door, tb_event_log.nreaderidn ndeviceid, case when tb_door_reader.ninout = '1' 'in' else 'out' end inouts, case when (tb_event_log.neventidn = '39' or tb_event_log.neventidn = '47') 'card' else 'finger' end access, row_number() on (order ndatetime desc) row_number tb_event_log, tb_user, tb_user_dept, tb_door_reader, tb_door, tb_door_dept ".$filter." tb_user.suserid = tb_event_log.nuserid , tb_user_dept.ndepartmentidn = tb_user.ndepartmentidn , tb_event_log.nreaderidn = tb_door_reader.nreaderidn , tb_door.ndooridn = tb_door_reader.ndooridn , tb_door_dept.ndoordept = tb_door.ndoordept ) select * my_cte ".$offsetlimit." "); } if($this->db->dbdriver=="mysql"){ $q = $this->db->query(" select date_format(date_add('1970-01-01', interval ndatetime second), '%d-%m-%y %h:%i:%s') dt, tb_event_log.nuserid id, susername name, tb_user_dept.sname dept, tb_door_dept.sdepartment doorgroup, tb_door.sname door, tb_event_log.nreaderidn ndeviceid, case when tb_door_reader.ninout = '1' 'in' else 'out' end inouts, case when (tb_event_log.neventidn = '39' or tb_event_log.neventidn = '47') 'card' else 'finger' end access tb_event_log, tb_user, tb_user_dept, tb_door_reader, tb_door, tb_door_dept ".$filter." tb_user.suserid = tb_event_log.nuserid , tb_user_dept.ndepartmentidn = tb_user.ndepartmentidn , tb_event_log.nreaderidn = tb_door_reader.nreaderidn , tb_door.ndooridn = tb_door_reader.ndooridn , tb_door_dept.ndoordept = tb_door.ndoordept order ndatetime desc ".$offsetlimit." "); } return $q; } } }
Comments
Post a Comment