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

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -