夺命雷公狗ThinkPHP项目之----企业网站14之文章修改页的完成
这个其实也是挺容易的,我们思路先将栏目页给遍历出来:

这里用了catTree的方法,因为我们要对遍历出来的数据进行排序的,然后来到前端进行完成列表:

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>后台管理</title>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/Admin/css/common.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/Admin/css/main.css"/>
<script type="text/javascript" src="__PUBLIC__/Admin/js/libs/modernizr.min.js"></script>
<script type="text/javascript" src="__PUBLIC__/Admin/js/jq18m.js"></script>
<script type="text/javascript" src="__PUBLIC__/Admin/js/hileft.js"></script> <script type="text/javascript" charset="utf-8" src="__PUBLIC__/Ueditor/ueditor.config.js"></script> <script type="text/javascript" charset="utf-8" src="__PUBLIC__/Ueditor/ueditor.all.min.js"></script>
<script type="text/javascript" charset="utf-8" src="__PUBLIC__/Ueditor/lang/zh-cn/zh-cn.js"></script> </head>
<body> <include file="Public/header" /> <div class="container clearfix">
<include file="Public/left" />
<!--/sidebar-->
<div class="main-wrap"> <div class="crumb-wrap">
<div class="crumb-list"><i class="icon-font"></i><a href="/jscss/admin/design/">首页</a><span class="crumb-step">></span><a class="crumb-name" href="/jscss/admin/design/">作品管理</a><span class="crumb-step">></span><span>新增作品</span></div>
</div>
<div class="result-wrap">
<div class="result-content">
<form action="" method="post" id="myform" name="myform" enctype="multipart/form-data">
<table class="insert-tab" width="100%">
<tbody> <tr>
<th><i class="require-red">*</i>文章标题</th>
<td>
<input class="common-text required" id="title" name="ar_title" size="50" value="{$amod['ar_title']}" type="text">
</td>
</tr> <tr>
<th><i class="require-red">*</i>文章作者</th>
<td><input class="common-text" name="ar_author" size="50" value="{$amod['ar_author']}" type="text"></td>
</tr> <tr>
<th>文章压缩图</th>
<td>
<img src="/{$amod['ar_pic']}" width="100" height="60" />
<input name="ar_pic" id="" type="file"><!--<input type="submit" onclick="submitForm('/jscss/admin/design/upload')" value="上传图片"/>--></td>
</tr> <tr> <th width="120"><i class="require-red">*</i>上级分类:</th>
<td>
<select name="ar_cateid" id="catid" class="required">
<volist name="cate" id="vos">
<option value="{$vos['cate_id']}"
<if condition="$vos['cate_id'] eq $amod['ar_cateid']">
selected="selected"
</if>
>{$vos['level']|str_repeat=" ",###}{$vos['cate_name']}</option>
</volist>
</select>
</td>
</tr> <tr>
<th>是否推荐:</th>
<if condition="$amod['ar_rem'] eq '0' ">
<td>
已推荐:<input type="checkbox" name="ar_rem" value="{$amod['ar_rem']}" /> <br />
未推荐:<input type="checkbox" checked name="ar_rem" value="{$amod['ar_rem']}" />
</td>
<else />
<td>
已推荐:<input type="checkbox" checked name="ar_rem" value="{$amod['ar_rem']}" /> <br />
未推荐:<input type="checkbox" name="ar_rem" value="{$amod['ar_rem']}" />
</td>
</if> </tr> <tr>
<th>文章内容:</th>
<td>
<textarea id="content" name="ar_content">{$amod['ar_content']}</textarea>
</td>
</tr> <input type="hidden" name="ar_id" value="{$amod['ar_id']}" />
<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>
</div>
</div> </div>
<!--/main-->
</div>
<script type="text/javascript">
UE.getEditor('content',{initialFrameWidth:890,initialFrameHeight:550});
//initialFrameWidth: null 这样就是他自动设置大小
</script>
<style type="text/css">
#edui2 div{
height:25px;
}
</style>
</body>
</html>
然后就是在控制器里接受传过来的参数了:

public function edit(){
$id = I('ar_id');
//遍历栏目页的内容出来 开始
$cate = D('Category')->catTree();
$this -> assign('cate',$cate);
//栏目页内容的遍历 结束
//指定文章的信息取出 开始
$amod = M('Article')->find($id);
$this -> assign('amod',$amod);
//指定文章的信息取出 结束
if(IS_POST){
$data['ar_title'] = I('ar_title');
$data['ar_author'] = I('ar_author');
$data['ar_rem'] = I('ar_rem');
$data['ar_content'] = I('ar_content');
$data['ar_cateid'] = I('ar_cateid');
$data['ar_time'] = time();
$data['ar_id'] = $id;
if($_FILES['ar_pic']['tmp_name']!=''){
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = './'; //这个一定要加否则很容易中招
$upload->savePath = 'Public/Uploads/'; // 设置附件上传目录
$info = $upload->uploadOne($_FILES['ar_pic']);
if($info){
//删除原来的图片
$cp = M('Article')->find($id);
unlink($cp['ar_pic']);
// 上传成功 获取上传文件信息
//这里组装sql语句,让图片融入$data['pic']里面
$data['ar_pic'] = $info['savepath'].$info['savename'];
}else{
$this->error($upload->getErro);
}
}
$mod =D("Article");
if($mod-> create($data)){
if($mod->save()){
$this->success('修改栏目成功',U('Article/lists'));
}else{
$this ->error('修改栏目失败');
}
}else{
$this->error($mod->getError());
}
}
这样即可完成了。。。。
夺命雷公狗ThinkPHP项目之----企业网站14之文章修改页的完成的更多相关文章
- 夺命雷公狗ThinkPHP项目之----企业网站16之文章列表页的完善(关联查询)
我们栏目的所属栏目不能总是以数字来显示吧??这样的话,估计老板会让您直接卷铺盖滚蛋噢,嘻嘻... 所以我们需要对她进行关联查询,控制器代码如下所示: public function lists(){ ...
- 夺命雷公狗ThinkPHP项目之----企业网站13之文章列表页的实现(主要是分页的实现)
列表页这个其实是比较简单的一个,直接遍历除数据即可: public function lists(){ //$mod = M("Article")->select(); // ...
- 夺命雷公狗ThinkPHP项目之----企业网站16之文章批量删除的完成
我们在做一个网站时候经常会遇到批量删除这个选项,其实也很简单,我们之需要用用jq实现出来效果然后通过表单post过去后端即可实现: 我们做这个功能前必须要先引入jq,我的jq版本是1.8.3,方法如下 ...
- 夺命雷公狗ThinkPHP项目之----企业网站15之文章删除的完成(单个)
我们文章最后一步就到他的删除了,这个其实是最简单的一个,废话不多说,先来写控制器: public function del(){ $id = I('ar_id'); if(M('Article')-& ...
- 夺命雷公狗ThinkPHP项目之----企业网站12之文章添加的实现
我们现在就开始写文章添加了,居然是添加当然布列外,我们还是要先讲模版搞定再说被: <!doctype html> <html> <head> <meta ch ...
- 夺命雷公狗ThinkPHP项目之----企业网站3之后台栏目页的搭建(百度编辑器的引入)
我们现在就开始搭建我们的后台栏目页的后台了: 首先创建一个CategoryController.class.php的控制器,让列表页和添加页面显示出来先: 然后就是开始动手修改我们的视图部分了: 我们 ...
- 夺命雷公狗ThinkPHP项目之----企业网站1之快速搭建后台
我们还是老规矩照老方法,将框架里面多余的东西都干掉,然后在index.php里面将框架搭建起来 <?php //定义项目目录 define('APP_PATH','./WEB/'); //开启调 ...
- 夺命雷公狗ThinkPHP项目之----企业网站28之网站前台左侧导航的实现
我们基于刚才在model层的找顶级分类的代码在进行修改即可: <?php namespace Home\Controller; use Think\Controller; class Commo ...
- 夺命雷公狗ThinkPHP项目之----企业网站27之网站前台单页的完成(从百度编辑器里面取出文章数据)
我们的单页面里主要是为了可以取出文章分类表的栏目内容,废话先不说, 我们的实现要点: 1...获取get过来的栏目cate_id 2...然后用条件查询栏目表 <?php namespace H ...
随机推荐
- ASP.NET MVC 4下 Code First 数据库迁移
一.命令开启 1.打开控制台:视图->其他窗口->程序包管理器控制台: 2.启动数据库迁移,执行命令:enable-migrations 创建成功后会新增migrations目录等. 若 ...
- Oracle横向纵向汇总
Oracle横向纵向汇总 有一张表test 如下, (NO 学生编号 ,cj 成绩) NO name KM CJ 001 张三 语文 80 001 张三 数学 86 001 张三 英语 75 0 ...
- JMeter学习-006-Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002 解决办法(windows 7)
好久没用 JMeter 了,今天启动的时候,发现启动命令行窗口出现了警报,警告信息如下图所示:
- Spring中的@response和@request注解
@response 标注对象返回的格式为json文本 @requestBody将json对象转换为对应的java类
- 打补丁patch 命令使用
打补丁patch 命令使用 http://www.cnblogs.com/huanghuang/archive/2011/07/14/2106402.html patch 命令用于打补丁,补丁文件是使 ...
- Android 一个漂亮的Android日期和时间选择器:DateTimePicker
DateTimePicker这个类库包含了漂亮的 DatePicker 和 TimePicker ,类似于在新 Google Agenda App中看到的. 项目主页:http://www.open- ...
- 最常用App开发工具更新总结
程序员都知道,App常用开发工具有Sublime Text 3.Webstorm.Eclipse和APICloud Studio等,那么这些开发工具在2016年又有什么重大更新呢? 1.APIClou ...
- HashMap 扩容 加载因子
HashMap: public HashMap(int initialCapacity, float loadFactor) { //初始容量不能<0 if (initialCapacity & ...
- 第十三篇 Integration Services:SSIS变量
本篇文章是Integration Services系列的第十三篇,详细内容请参考原文. 简介在前一篇我们结合了之前所学的冒泡.日志记录.父子模式创建一个自定义的SSIS包日志记录模式.在这一篇,我们将 ...
- 网站购物,使用pickle
主程序, #!/usr/bin/env python #_*_ coding:utf- _*_ import pickle import os import sys import time impor ...