function prepare_items()
 {
     global $wpdb;
     $query = "SELECT * FROM " . $wpdb->prefix . "swpm_membership_tbl WHERE  id !=1 ";
     if (isset($_POST['s'])) {
         $query .= " AND alias LIKE '%" . strip_tags($_POST['s']) . "%' ";
     }
     $orderby = !empty($_GET["orderby"]) ? mysql_real_escape_string($_GET["orderby"]) : 'id';
     $order = !empty($_GET["order"]) ? mysql_real_escape_string($_GET["order"]) : 'DESC';
     $sortable_columns = $this->get_sortable_columns();
     $orderby = BUtils::sanitize_value_by_array($orderby, $sortable_columns);
     $order = BUtils::sanitize_value_by_array($order, array('DESC' => '1', 'ASC' => '1'));
     if (!empty($orderby) && !empty($order)) {
         $query .= ' ORDER BY ' . $orderby . ' ' . $order;
     }
     $totalitems = $wpdb->query($query);
     //return the total number of affected rows
     $perpage = 20;
     $paged = !empty($_GET["paged"]) ? mysql_real_escape_string($_GET["paged"]) : '';
     if (empty($paged) || !is_numeric($paged) || $paged <= 0) {
         $paged = 1;
     }
     $totalpages = ceil($totalitems / $perpage);
     if (!empty($paged) && !empty($perpage)) {
         $offset = ($paged - 1) * $perpage;
         $query .= ' LIMIT ' . (int) $offset . ',' . (int) $perpage;
     }
     $this->set_pagination_args(array("total_items" => $totalitems, "total_pages" => $totalpages, "per_page" => $perpage));
     $columns = $this->get_columns();
     $hidden = array();
     $sortable = $this->get_sortable_columns();
     $this->_column_headers = array($columns, $hidden, $sortable);
     $this->items = $wpdb->get_results($query, ARRAY_A);
 }
 function prepare_items()
 {
     global $wpdb;
     $query = "SELECT * FROM " . $wpdb->prefix . "swpm_members_tbl";
     $query .= " LEFT JOIN " . $wpdb->prefix . "swpm_membership_tbl";
     $query .= " ON ( membership_level = id ) ";
     $s = filter_input(INPUT_POST, 's');
     if (!empty($s)) {
         $query .= " WHERE  user_name LIKE '%" . strip_tags($s) . "%' " . " OR first_name LIKE '%" . strip_tags($s) . "%' " . " OR last_name LIKE '%" . strip_tags($s) . "%' ";
     }
     $orderby = filter_input(INPUT_GET, 'orderby');
     $orderby = empty($orderby) ? 'user_name' : $orderby;
     $order = filter_input(INPUT_GET, 'order');
     $order = empty($order) ? 'DESC' : $order;
     $sortable_columns = $this->get_sortable_columns();
     $orderby = BUtils::sanitize_value_by_array($orderby, $sortable_columns);
     $order = BUtils::sanitize_value_by_array($order, array('DESC' => '1', 'ASC' => '1'));
     $query .= ' ORDER BY ' . $orderby . ' ' . $order;
     $totalitems = $wpdb->query($query);
     //return the total number of affected rows
     $perpage = 20;
     $paged = filter_input(INPUT_GET, 'paged');
     if (empty($paged) || !is_numeric($paged) || $paged <= 0) {
         $paged = 1;
     }
     $totalpages = ceil($totalitems / $perpage);
     if (!empty($paged) && !empty($perpage)) {
         $offset = ($paged - 1) * $perpage;
         $query .= ' LIMIT ' . (int) $offset . ',' . (int) $perpage;
     }
     $this->set_pagination_args(array("total_items" => $totalitems, "total_pages" => $totalpages, "per_page" => $perpage));
     $columns = $this->get_columns();
     $hidden = array();
     $sortable = $this->get_sortable_columns();
     $this->_column_headers = array($columns, $hidden, $sortable);
     $this->items = $wpdb->get_results($query, ARRAY_A);
 }