联系官方销售客服

1835022288

028-61286886

应用插件 版主:官方插件技术组
在接口文件中,参数为JSON格式数据
类型:迅睿CMS 更新时间:2020-12-07 14:37:07

PHP程序里面

在接口文件中,参数为JSON格式数据,用base64编码后,通过get方式传入参数&cans="base64编码后JSON文本",现编码解码已解决,请PHP大神帮忙写下查询代码,要求如下:

参数名:

cxb  表名   

 cxtj  条件  排序独立出去,条件只用比较>,>=,=,<=,<

 cxzd  字段

cxbx  排序字段及排序方法,从条件中提出来。

cxfy  查询分页,如没有此参数,则只返回记录总数(不用返回数据内容,只返回记录总数,用于下次分页查询),有此参数则按参数数值进行分页查询 "cxfy":["记录指针","返回数目"]

 第一:判断参数是否传入表名  -->返回错误提示

 第二:判断表是否存在 -->返回错误提示

第三:判断分页参数,如不存在,就不用判断字段、条件、排序了,只是查询记录数,存在才判断后面的

 第四:判断是否传入字段,没传入 ->查询所有字段, 如传入字段,判断字段是否存在。再查询传入的字段值

 第五,判断查询条件是否存在。

第六:判断是不有排序字段,如果有,默认按升序排序,比如:"字段名":"0"  或"字段名":"",这两个情况都为升序,"字段名":"1"值为1或大于0的值,则为降序。

 请大神帮忙写成此查询代码,


 $cans = \Phpcmf\Service::L('input')->get('cans');

 $cans = strToUtf8(base64_decode($cans));

 $arr = json_decode($cans,1);


 $return =$arr;


function strToUtf8($str){

    $encode = mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5'));

    if($encode == 'UTF-8'){

        return $str;

    }else{

        return mb_convert_encoding($str, 'UTF-8', $encode);

    }

}



插件版权:官方插件
插件名称:httpapi

回帖
  • 迅睿粉丝
    #1楼    迅睿粉丝
    2020-10-05 20:54:36
    Chrome 0
    没人帮忙写下?将下难度,$data = \Phpcmf\Service::M()->db->query($sql)->getResult();这个getResult函数返回的结果是什么结构?如何转为数组或JOSN?或是能用其他什么函数从SQL查询结果中取数组值?
    满意答案
  • 迅睿粉丝
    #2楼    迅睿粉丝
    2020-12-07 14:37:07
    Chrome 0
    @黄老邪:结帖结帖结帖结帖