/**
 * jqgrid显示所有结果
 * @param dao $dao 当前使用的dao
 * @param array $options 
 * @param int $page 当前页面
 * @param int $rows 每页显示数目
 * @param array $options 扩展配置项
  <p> string sidx 排序域名</p>
  <p> string sord 排序方式</p>
  <p> boolean search 是否为搜索</p>
  <p> array filters 多条件搜索条件数据</p>
  <p> string searchField 多条件搜索域</p>
  <p> string searchString 多条件搜索值</p>
  <p> string searchOper 多条件搜索操作符</p>
  <p> string fields 搜索的域</p>
  <p> string order 搜索时默认的排序方式</p>
  <p> string where 搜索时默认的排序条件</p>
  <p>	 boolean returnJson 是否返回json格式数组,默认为true</p>
  <p> boolean needWhere 是否一定要有设置的where条件,为true时 where不能为空</p>
 * @return json|array 默认返回json数据
 */
 private function jqgrid_show_results($dao, $page, $rows, $options)
 {
     //排序方式
     if (isset($options['sidx']) && isset($options['sord'])) {
         $order = $options['sidx'] . ' ' . $options['sord'];
     } else {
         $order = '';
     }
     if (!empty($options['where'])) {
         $conditions = $options['where'];
     }
     //表示是查找功能,会重置查询条件
     if ($options['search']) {
         //多条件查询
         $multipleSearch = stripcslashes($options['filters']);
         //多值查询
         if (!empty($multipleSearch)) {
             //条件转化为数组格式
             $multipleSearch = json_decode($multipleSearch, true);
             $conditions = $this->multiple_earch_condition($multipleSearch);
         } else {
             if ($options['searchOper']) {
                 //获得单个查询的条件
                 $conditions = $this->get_search_string($options['searchField'], $options['searchString'], $options['searchOper']);
             }
         }
     }
     if ($options['needWhere'] == true && !empty($options['where'])) {
         $conditions = array_merge($conditions, $options['where']);
     }
     $modelOptions = array();
     if (!empty($options['joins'])) {
         $modelOptions['joins'] = $options['joins'];
     }
     //查询条件
     if (!empty($conditions)) {
         $modelOptions['conditions'] = $conditions;
     }
     //获得总记录条数
     $counts = $dao->find('count', $modelOptions);
     if ($counts > 0) {
         //排序方式
         $modelOptions['order'] = $order;
         //查询字段
         if (isset($options['fields'])) {
             $modelOptions['fields'] = $options['fields'];
         }
         //获得查询结果
         $modelOptions['limit'] = $rows;
         $modelOptions['offset'] = ($page - 1) * $rows;
         $results = $dao->find('all', $modelOptions);
     } else {
         $results = array();
     }
     $total = ceil($counts / $rows);
     //去除表名,使用别名形式
     $results = $this->del_tablename($results);
     $json['page'] = $page;
     $json['records'] = $counts;
     $json['total'] = $total;
     $json['results'] = $results;
     //获得执行的sql
     //print_r($dao->getDataSource()->getLog(false,false));
     //默认返回json数据
     if (!isset($options['returnJson']) || $options['returnJson']) {
         return $this->json_key_result($json);
     }
     return $json;
 }