一個前端寫的php博客系統3--文章的修改和刪除

部署的地址

個人博客地址:http://www.weber.pub/

github 地址:https://github.com/baiyuming/byblog

文章的修改

文章的修改須要兩步,第一步讀取文章,第二步更新文章,更新完成後返回文章列表頁php

  • 讀取博客控制器前端

//編輯博客方法
public function edit($id=0){
    $Article   =   M('Article');
    $this->assign('data',$Article->find($id));
    $this->display();
}
  • 更新文章控制器git

// 更新博客
public function update(){
    $Article = M("Article");
    $time = I('post.a_time')?strtotime(I('post.a_time')):time();
    $data = array (
        'a_id' => I('post.a_id'),
        'a_title' => I('post.a_title'),
        'a_keyword' => I('post.a_keyword'),
        'a_remark' => I('post.a_remark'),
        'a_content' => I('post.a_content'),
        'a_time' => $time,
    );

    if($Article->save($data)) { // 根據條件保存修改的數據
        $this->success('編輯成功!','listA');
    }else{
        $this->error('編輯失敗!');
    }
}

上面的方法中有對文章發表時間的判斷,若是不填則默認是當前時間,若是填寫就按照填寫時間存入。github

  • 頁面代碼
    這裏仍然使用了markdown 編輯器。。。web

<form class="col s12 pt-60" method="post" action="__URL__/update">
    <input type="hidden" name="a_id" value="{$data.a_id}">
    <div class="row">
        <div class="col s9">
            <div class="row">
                <div class="input-field col s12">
                    <input id="title" name="a_title" type="text" class="validate" value="{$data.a_title}">
                    <label for="title">文章標題</label>
                </div>
            </div>
            <div class="row">
                <div class="input-field col s12">
                    <input id="remark" name="a_remark" type="text" class="validate" value="{$data.a_remark}">
                    <label for="remark">文章描述</label>
                </div>
            </div>
            <div class="row">
                <div class="input-field col s12">
                    <p class="f-16 c-999">文章內容</p>
                    <textarea name="a_content" id="textarea" class="materialize-textarea">{$data.a_content}</textarea>
                </div>
            </div>
        </div>
        <div class="col s3">
            <div class="row">
                <div class="input-field col s12">
                    <input id="keyword" name="a_keyword" type="text" class="validate" value="{$data.a_keyword}">
                    <label for="keyword">標籤(關鍵字)</label>
                </div>
            </div>
            <div class="row">
                <div class="input-field col s12">
                    <input id="a_time" name="a_time" type="text" class="validate" value="20{$data.a_time|date='y/m/d H:i',###}">
                    <label for="a_time">時間</label>
                </div>
            </div>
            <button class="btn waves-effect waves-light" type="submit" name="action">更新文章
                <i class="by bym-feiji right"></i>
            </button>
        </div>
    </div>
</form>

文章的刪除

刪除功能就直接作在了列表頁segmentfault

  • 控制器代碼markdown

public function del($id=0){
    // 實例化Article對象
    $Article = M("Article"); 
    //根據id刪除
    $Article->where('a_id = '.$id)->delete();
    if($Article) { // 根據條件保存修改的數據
        $this->success('文章已刪除!',"../../listA");
    }else{
        $this->error('刪除失敗!');
    }
}
  • 頁面代碼編輯器

<volist name="list" id="vo">
    <tr>
        <td class="f-18" width="75%">{$vo.a_title} <span class="f-12 c-999">20{$vo.a_time|date="y/m/d H:i",###}</span></td>
        <td width="25%">
            <a href="{:U('Admin/Blog/edit/id/'.$vo['a_id'])}" class="waves-effect waves-light btn mr-lg">編輯</a>
            <a href="#modal{$vo.a_id}" class="modal-trigger waves-effect waves-light btn">刪除</a>
            <div id="modal{$vo.a_id}" class="modal">
                <div class="modal-content">
                    <h4>肯定刪除</h4>
                    <p>{$vo.a_title} 這篇文章????</p>
                </div>
                <div class="modal-footer">
                    <a onclick="$('.modal').closeModal();" class="waves-effect waves-light btn ml-lg ">取消</a>
                    <a href="{:U('Admin/Blog/del/id/'.$vo['a_id'])}" class="waves-effect waves-light btn red">肯定</a>
                </div>
            </div>
        </td>
    </tr>
</volist>

這裏使用 模態框 讓用戶選擇肯定是否刪除。。。post

寫在後面

這個簡單的博客系統基本功能算是已經完善了,可是其中還有不少值得優化和修改的地方。。。好比有朋友建議的url優化等,在這裏表示感謝,後續會繼續優化,固然也會加入一些好玩的東西,其餘的一些功能基本也就是增刪改查,擴展起來應該不難。。。優化

另外2篇博文地址

一個前端寫的php博客系統--支持markdown哦

一個前端寫的php博客系統2--前臺展現+後臺登陸

相關文章
相關標籤/搜索