控制器代碼
\Application\Admin\Controller\ArticleCateController.class.php
~~~
<?php
namespace Admin\Controller;
use Admin\Controller\AuthController;
use Think\Auth;
class ArticleCateController extends AuthController
{
public function _initialize()
{
parent::_initialize();
$this->db = D('ArticleCate');
}
// 列表
public function index()
{
$list = $this->db->order('id desc')->select();
foreach ($list as $k=>$v){
if($v['cid'] == 0 ){
$list[$k]['catename'] ='頂級分類';
}else{
$list[$k]['catename'] = $this->db->where('id='.$v['cid'])->getField('name');
}
}
$this->list = $list;
$this->display();
}
/**
* 編輯
*/
public function update()
{
if (IS_POST) {
$data = I('post.');
$res = $this->db->update($data);
if ($res) {
$this->ajaxReturn(['code'=>1,'msg'=>'更新成功']);
}else{
$this->ajaxReturn(['code'=>0,'msg'=>$this->db->getError()]);
}
}else{
$id = I('id');
if ($id) {
$this->info = $this->db->where(array('id'=>$id))->find();
}
$this->list = $this->db->where(array('cid'=>0))->select();
$this->imgList = D('Image')->select();
$this->display();
}
}
/**
* 刪除分類
*/
public function del(){
$id = I('id');
$res = $this->db->delete($id);
if ($res) {
$list = $this->db->where(array('pid'=>$id))->select();
if($list){
foreach ($list as $v){
$this->db->delete($v['id']);
}
}
$this->ajaxReturn(['code'=>1,'msg'=>'刪除成功']);
}else{
$this->ajaxReturn(['code'=>0,'msg'=>'刪除失敗']);
}
}
}
~~~
模型
\Application\Admin\Model\ArticleCateModel.class.php
~~~
<?php
namespace Admin\Model;
use Think\Model;
class ArticleCateModel extends Model
{
/* 數據庫設置 */
protected $connection = 'DB_CONFIG2';
/**
* 自動驗證
* @var array
*/
protected $_validate = array(
array('cid', 'require', '請選擇分類'),
array('name', 'require', '名稱不能為空'),
array('description', 'require', '描述不能為空'),
array('sort', 'require', '排序不能為空'),
);
/**
* 自動完成
* @var array
*/
protected $_auto = array(
array('create_time', NOW_TIME, 1),
array('update_time', NOW_TIME, 3),
);
/**
* 更新數據
* @DateTime 2018-05-04
* @return [type] [description]
*/
public function update($info){
$data = $this->create($info);
// dump($data);die;
if(!$data){ //數據對象創建錯誤
return false;
}
/* 添加或更新數據 */
if(empty($data['id'])){
return $this->add();
}else{
return $this->save();
}
}
}
~~~
列表頁面
\Application\Admin\View\ArticleCate\index.html
~~~
<include file="Public:header" />
<include file="Public:top" />
<!-- Contents -->
<div id="Contents">
<!-- TopMain -->
<div id="TopMain">
<!-- btn_box -->
<div class="btn_box floatL">
<a href="{:U('ArticleCate/update')}">
<input type="button" value="添加">
</a>
</div>
<!-- /btn_box -->
</div>
<!-- /TopMain -->
<!-- MainForm -->
<div id="MainForm">
<div class="form_boxA">
<h2>分類列表</h2>
<table cellpadding="0" cellspacing="0">
<tr>
<th>ID</th>
<th>分類名稱</th>
<th>上級分類</th>
<th>排序</th>
<th>狀態</th>
<th>操作</th>
</tr>
<volist name="list" id="vo">
<tr>
<td>{$vo.id}</td>
<td>{$vo.name}</td>
<td>{$vo.catename}</td>
<td>{$vo.sort}</td>
<td>
<if condition="$vo['status'] eq 0"><span class="f_cA">禁用</span></if>
<if condition="$vo['status'] eq 1"><span class="f_cC">啟用</span></if>
</td>
<td>
<a name="edit" href="{:U('ArticleCate/update',array('id'=>$vo[id]))}">編輯</a>
<a class="del" link="{:U('ArticleCate/del',array('id'=>$vo['id']))}">刪除</a>
</td>
</tr>
</volist>
</table>
</div>
</div>
<!-- /MainForm -->
<!-- PageNum -->
{$page}
<!-- /PageNum -->
</div>
<!-- /Contents -->
<include file="Public:footer" />
~~~
編輯頁面
\Application\Admin\View\ArticleCate\update.html
~~~
<include file="Public:header" />
<include file="Public:top" />
<!-- Contents -->
<div id="Contents">
<div id="TopMain">
<div class="btn_box floatL">
<a href="javascript:history.back(-1);" >
<input type="button" value="返回">
</a>
</div>
</div>
<!-- MainForm -->
<div id="MainForm" style="padding: 50px;">
<div class="form_boxC">
<form id="form" method="post">
<table cellpadding="0" cellspacing="0">
<tr>
<th>分類</th>
<td>
<div class="selectbox floatL mag_r20">
<select name="cid">
<option value="0" <if condition="$info['cid'] eq 0">selected="selected"</if>>頂級分類</option>
<volist name="list" id="vo">
<option value="{$vo.id}" <if condition="$info['cid'] eq $vo['id']">selected="selected"</if>>{$vo.name}</option>
</volist>
</select>
</div>
</td>
</tr>
<tr>
<th>圖片</th>
<td>
<div class="selectbox floatL mag_r20">
<select name="image_id">
<option value="0" <if condition="$info['image_id'] eq 0">selected="selected"</if>>請選擇封面圖</option>
<volist name="imgList" id="vo">
<option value="{$vo.id}" <if condition="$info['image_id'] eq $vo['id']">selected="selected"</if>>{$vo.title}</option>
</volist>
</select>
</div>
</td>
</tr>
<tr>
<th>分類名稱</th>
<td>
<div class="txtbox floatL">
<input type="text" name="name" id="name" size="24" value="{$info.name}" />
</div>
</td>
</tr>
<tr>
<th>描述</th>
<td>
<div class="txtbox floatL">
<input type="text" name="description" id="description" size="100" value="{$info.description}" />
</div>
</td>
</tr>
<tr>
<th>排序</th>
<td>
<div class="txtbox floatL">
<input type="text" name="sort" id="sort" size="24" value="{$info.sort}" />
</div>
</td>
</tr>
<tr>
<th>狀態</th>
<td>
<div>
<input type="radio" name="status" value="1" <if condition="$info['status'] eq 1">checked="checked"</if> />開啟
<input type="radio" name="status" value="0" <if condition="$info['status'] eq 0">checked="checked"</if> />禁用
</div>
</td>
</tr>
<tr>
<th> </th>
<td>
<div class="btn_box" style="box-shadow: none;">
<input type="hidden" name="id" value="{$info.id}" />
<input type="submit" style="min-width:160px;" value="提交">
</div>
</td>
</tr>
</table>
</form>
</div>
</div>
<!-- /MainForm -->
</div>
<!-- /Contents -->
<script type="text/javascript">
$(function () {
$("#form").submit(function(e){
var res = $(this).serialize();
var url = "{:U('ArticleCate/update')}";
$.ajax({
url: url,
data: res,
type: 'post',
success:function(data){
if (data.code == 1) {
layer.alert(data.msg,{icon:6},function (index) {
layer.close(index);
window.location.href = "{:U('ArticleCate/index')}";
});
} else{
layer.alert(data.msg,{icon:5},function (index) {
layer.close(index);
window.location.reload();
});
}
}
});
return false; // 阻止表單跳轉
});
});
</script>
<include file="Public:footer" />
~~~
數據庫sql
~~~
CREATE TABLE `lxl_article_cate` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cid` int(11) NOT NULL,
`image_id` int(11) NOT NULL COMMENT '圖片id',
`name` varchar(50) NOT NULL,
`description` varchar(255) NOT NULL,
`sort` int(11) NOT NULL,
`status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '狀態 是否顯示',
`create_time` int(11) NOT NULL,
`update_time` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COMMENT='文章分類';
~~~
- php ping 地址
- python調用php腳本和sh調用php腳本
- php隨機字符串
- redis操作
- 公共頁面文件
- 登錄
- 文章
- 文章管理
- 文章分類
- 圖片
- 圖片分類
- 圖片管理
- 配置文件
- ueditor配置遠程上傳
- django
- 安裝
- jinja2模板標簽
- 虛擬機
- centos寶塔面板安裝
- mysql主從搭建
- 虛擬機安裝centos7
- 2
- 主從復制
- uni-app
- 更新
- 直播簡單代碼
- 搞笑的注釋代碼
- jwt
- centos以太坊環境搭建
- thinkphp5.1下的redis使用
- redis的安裝
- tp5.1中使用
- tp5.1下載酷狗音樂
- 跨域
- tp5.1導出數據庫到excel
- 鉤子和行為
- 支付寶
- 申請支付寶app接入
- 視頻播放
- 模塊安裝
- 推流配置
- pc端網頁代碼
- srs
- 后臺布局
- 基礎布局文件
- 左邊
- 頭部
- css特效代碼
- 圖片旋轉
- 圖片放大
- 頂部
- 列表頁
- 更新數據表單頁
- 模型獲取器
- 上傳圖片
- mysql
- 一些常用
- 遠程授權
- 數據庫常用命令
- 忘記密碼
- webpack
- 一些亂七八糟的東西
- linux后臺運行腳本過大處理辦法
- sublime插件
- linux svn安裝
- 工具
- 查看進程
- 獲取微信公眾號文章
- 爬取微信公眾號文章
- 清空nohup
- 服務器上跨域配置
- sql語句生成orm模型寫法的工具
- centos換阿里源
- linux一些日志操作
- zsh