1. 程式人生 > >[thinkPHP5專案實戰_20]友情連結功能完善

[thinkPHP5專案實戰_20]友情連結功能完善

1.友情連結列表輸出及分頁

模板表單程式碼:

<table class="table table-striped">
    <thead>
        <tr>
            <th>ID</th>
            <th>標題</th>
            <th>描述</th>
            <th>地址</th>
            <th>操作</th>
        </tr>
    </thead>
    <tbody>
        {volist name="linkres" id="vo"}
        <tr>
            <td>{$vo.id}</td>
            <td>{$vo.title}</td>
            <td>{$vo.desc}</td>
            <td><a href="{$vo.url}" target="_blank">{$vo.url}</a></td>
            <td>
                <a href="{:url('edit',array('id'=>$vo.id))}">修改</a>
                <a href="{:url('del',array('id'=>$vo.id))}" onclick="return confirm('確定刪除該欄目?')">刪除</a>
            </td>
        </tr>
        {/volist}
    </tbody>
</table>
<div>{$linkres->render()}</div>

對應控制器操作方法:
    public function lists()
    {
        $linkres = \think\Db::name('link')->paginate(3);
        $this->assign('linkres',$linkres);
        return $this->fetch();
    }

2.友情連結編輯

含賦值、驗證、資料庫插入

使用input("post.")方法可以獲取post所有的檔案

模板表單程式碼:

<form action="" method="post" id="myform" name="myform" enctype="multipart/form-data">
    <input type="hidden" name="id" value="{$links.id}">
    <table class="insert-tab" width="100%">
        <tbody>
            <tr>
                <th width="10%">連結名稱:</th>
                <td>
                    <input class="common-text required" id="title" name="title" size="50" value="{$links.title}" type="text">
                </td>
            </tr>
            <tr>
                <th>連結地址:</th>
                <td>
                    <input class="common-text" name="url" size="50" value="{$links.url}" type="text">
                </td>
            </tr>
            <tr>
                <th>連結描述:</th>
                <td>
                    <textarea name="desc" class="common-textarea" id="desc" cols="30" style="width: 98%;" rows="10">{$links.desc}</textarea>
                </td>
            </tr>
            <tr>
                <th></th>
                <td>
                    <input class="btn btn-primary btn6 mr10" value="提交" type="submit">
                    <input class="btn btn6" onclick="history.go(-1)" value="返回" type="button">
                </td>
            </tr>
        </tbody>
    </table>
</form>
對應控制器操作方法:
    public function edit()
    {
        $links = db('link')->where('id',input('id'))->find();
        $this->assign('links',$links);
        //修改後提交
        if(request()->isPost()){
            $data = input('post.');
            $validate = \think\Loader::validate('Link');
            if($validate->check($data)){
                $res = \think\Db::name('link')->update($data);
                if($res){
                    return $this->success('修改連結成功','lists');
                }else{
                    return $this->error('修改連結失敗');
                }
            }else{
                //驗證失敗輸出提示資訊
                return $this->error($validate->getError());
            }
        }
        return $this->fetch();
    }

3.刪除操作

    public function del()
    {
        $id=input('id');
        if(db('link')->delete($id)){
            return $this->success('刪除連結成功','lists');
        }else{
            return $this->error('刪除連結失敗');
        }
    }