小左闲谈

Ajax弹窗编辑无刷新查询赋值

当前位置:首页 » 学习
In 学习  @2016-03-04

题目很拗口,需求是这样的;
在项目中有一个列表页的右侧的编辑按钮是弹窗式的这时候就没有url跳转,无法使用一般的跳转查询取值,需要通过点击触发取值查询并赋值的过程。

封装了一个jQueryAjax函数:

function addhidden(id,url){
    var res = 0;
    var data ={"id":id};
    res = $.ajax({
        type:'POST',
        url:url,
        data:data,
        async :false,
        dataType : "json",
        success: function(data){
        },
    })
    res = res.responseText;
    res = eval("("+res+")");
    return res;
    }

调用上面的addhidden函数查询值并返回数据;

//当点击该标签时触发事件
$(".btn.btn-xs.btn-info.addhidden").click(function(){
        //调用ThinkPHP控制器中的isfind函数执行查询
    var url="{:U('Blog/isfind')}";
    //从模板num标签中为id赋值
        var id= $(this).attr("num");
    var data = addhidden(id,url);
    $("#id").val(data.id);
    $("#form-field-mask-2").val(data.title);
    $("#form-field-mask-3").val(data.sort);
</pre>

Blog控制器类的isfind函数:
<pre lang="php" line="0">
//弹窗修改分类取值
public function isfind(){
    if($_POST['id']){
        $blog=M("blog");
        $res=$blog->where(array('id'=>$_POST['id']))->field("id,title,sort")->find();
        $this->ajaxReturn($res);
    }
}

模板文件:

<tbody>
    <volist id="list" name="list">
    <tr>
        <td>{$list.title}</td>
        <td>{$list.time}</td>
        <td>
            <div class="visible-md visible-lg hidden-sm hidden-xs btn-group">
                <a class="btn btn-xs btn-info addhidden" href="#" name="edit" data-toggle="modal" data-target="#Edit" num="{$list.id}" title="编辑">
                <i class="icon-edit bigger-120"></i>
                </a>
                <a class="btn btn-xs btn-danger" name="trash" title="删除" num="{$list.id}">
                <i class="icon-trash bigger-120"></i>
                </a>
                <a class="btn btn-xs btn-warning" href="{:U('Blog/adds',array('pid'=>$list['id'],'title'=>$list['title']))}" name="add" title="添加" num="{$list.id}">
                <i class="icon-plus bigger-120"></i>
                </a>    
                <a class="btn btn-xs btn-success" href="{:U('Blog/mulcolum',array('pid'=>$list['id'],'title'=>$list['title']))}" name="view" title="所属内容" num="{$list.id}">
                <i class="icon-list bigger-120"></i>查看所属内容
                </a>                                                                
            </div>
        </td>
    </tr>
    </volist>
</tbody>
标签: , ,   评论: Ajax弹窗编辑无刷新查询赋值已关闭评论 

ThinkPHP3.2.3实例:volist循环实现分类及文章嵌套输出

当前位置:首页 » 学习
In 学习  @2016-03-04

使用ThinkPHP3.2.3开发项目中遇到一个简单而常见的问题。
一个表的下面包含了分类和分类下的文章,先在需要在页面底部分类显示博客的标题,一般我们用Volist标签来循环取值,这里有分类,使用一次volist的嵌套。

数据表结构:

MySQL表结构

需求的效果:

QQ截图20160304155235

控制器:

$blog = M('blog');
$bloglist=$blog->where(array('show'=>1,'pid'=>0))->field('id,title')->limit(3)->order('sort asc')->select();
foreach ($bloglist as $k => $v) {
    $bloglist[$k]["child"]=$blog->where(array('pid'=>$v['id'],'show'=>1))->field('id,title,pid')->order("time desc")->limit(8)->select();
}
$this->assign("bloglist",$bloglist);

前台模板文件:

<volist name="bloglist" id="bloglist">
    <div class="col-md-3 footer-grid">
        <h3>{$bloglist.title}</h3>
            <ul>
            <volist name="bloglist.child" id="child">
            <li><a href="{:U('Blog/details',array('id'=>$child['id']))}">{$child.title}</a></li>
            </volist>
            </ul>
    </div>
</volist>

在工作中遇到的问题,自己不太懂的我就记下来吧,下次再用到就会熟练一点。

标签: , ,   评论: ThinkPHP3.2.3实例:volist循环实现分类及文章嵌套输出已关闭评论 

Warning: curl_error(): 1 is not a valid cURL handle resource错误

当前位置:首页 » 学习
In 学习  @2015-12-30

在微信开发获取acces_token过程中使用到PHPcurl采集函数遇到的警告错误:

Warning: curl_error(): 1 is not a valid cURL handle resource in xxxx line xxx

原始代码如下:

    function getWXAccessToken(){
        //1.请求url地址
        $appid = 'APPID';//私有的,不发出来了
        $appSecret = 'APPSECRET';//私有的,不发出来了
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appSecret;
        //2.初始化
        $ch = curl_init();
        //3.设置参数
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        //4.调用接口
        $res = curl_exec($ch);
        //5.关闭curl
        curl_close($ch);
        if(curl_errno($ch)){
            var_dump(curl_error($ch));
        }
        $arr = json_decode($res, true);
        var_dump($arr);
    }

经过查找问题在于我在关闭curl后又再次使用了$ch,关闭一个cURL会话会释放所有资源,cURL句柄$ch也会被释放,所以后面再使用$ch时会报错。将curl_close($ch)函数放在最后就好了。

标签: , ,   评论: 5枚