亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 6598 | 回復(fù): 2
打印 上一主題 下一主題

PHP如何處理jqGrid發(fā)過來的復(fù)合查詢Json條件? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-05-10 22:26 |只看該作者 |倒序瀏覽
官方demo里只有一個$where變量,可怎么組合成這個串沒有講,F(xiàn)在需要把傳過來的json串
filters:

{"groupOp":"OR","rules":[{"field":"area","op":"eq","data":"石家莊"},{"field":"vlanid","op":"eq","data":"4023"},{"field":"vlanid","op":"eq","data":"4024"}],"groups":[{"groupOp":"AND","rules":[{"field":"area","op":"eq","data":"石家莊"},{"field":"vlanyewu","op":"eq","data":" "}],"groups":[]}]}

轉(zhuǎn)化為:
((area = "石家莊" AND vlanyewu = " ") OR area = "石家莊" OR vlanid = "4023" OR vlanid = "4024")
這樣就可以放到查詢條件里。

論壇徽章:
0
2 [報告]
發(fā)表于 2014-05-11 14:21 |只看該作者
本帖最后由 huowz 于 2014-05-11 14:30 編輯

已解決!參考這里:http://bbs.phpchina.com/forum.ph ... p;page=1#pid1614618。
美中不足就是還不能處理帶括號的情況,繼續(xù)研究。

  1.      function _makeCondition($field, $oper, $string){
  2.             $condition="";
  3.               switch ($oper){
  4.                  case "eq":
  5.                     $condition=$field . " " . "=" . " " . "'" . $string . "'";
  6.                  break;
  7.                  case "ne":
  8.                     $condition=$field . " " . "<>" . " " . "'" . $string . "'";
  9.                  break;
  10.                  case "lt":
  11.                     $condition=$field . " " . "<" . " " . "'" . $string . "'";
  12.                  break;
  13.                  case "le":
  14.                     $condition=$field . " " . "<=" . " " . "'" . $string . "'";
  15.                  break;
  16.                  case "gt":
  17.                     $condition=$field . " " . ">" . " " . "'" . $string . "'";
  18.                  break;
  19.                  case "ge":
  20.                     $condition=$field . " " . ">=" . " " . "'" . $string . "'";
  21.                  break;           
  22.                  case "bw":
  23.                   $condition="$field"." ". "like ". "'".$string ."%'";
  24.                   break;
  25.                  case "ew":
  26.                   $condition="$field"." ". "like "."'%". $string . "'";
  27.                   break;
  28.                  case "cn":
  29.                    $condition="$field"." ". "like "."'%". $string ."%'";
  30.                    break;
  31.                   default:
  32.                     $condition=$field . " " . $oper . " " . "'" . $string . "'";
  33.                     break;
  34.               }
  35.         return $condition;      
  36.     }  

  37.            $filters = json_decode($_REQUEST['filters'], true);
  38.            $operation = $filters['groupOp'];      
  39.            $rules = $filters['rules'];
  40.            print_r($rules);
  41.            foreach ($rules as $rule) {
  42.               $field=$rule['field'];
  43.               $op=$rule['op'];
  44.               $data=iconv('utf-8', 'gb2312', $rule['data']);
  45.               $condition=_makeCondition($field,$op,$data);
  46.               if($where){
  47.                 $where=$where.' '.$operation.' '.$condition;
  48.               }else{
  49.                 $where=$condition;
  50.               }//end $rules if        
  51.            }//end $rules foreach
復(fù)制代碼

論壇徽章:
0
3 [報告]
發(fā)表于 2014-05-23 19:38 |只看該作者
8錯啊,樓主...
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP