thinkphp 索引功能,文章标题和文章内容分离,优化数据库效果 插入数据库 【1】
2017-04-20 14:28
288 查看
一般,用数据库查询功能的时候,一般我们建立文章的表要建立 主表, 和副表, 有利于文章的搜索, 下面简历了连个表,
news 这张 表是存放,文章的大致的信息的,比如,news_id , 文章的标题, 谁建立的文章, 创建的日期; content 这张表是建立拿来存放文章的, 包括了: 内容, 和 news_id , 这边的重点是一定要简历news_id 这张表, 因为,我们两张表之间是需要有联系的, 我们就把 news_id 当做我们的引路人。
top 1 , 插入文章:
public function add(){
if($_POST){
if(!isset($_POST['title']) || !$_POST['title']){
return show(0,"标题没有填写朋友");
}
if(!isset($_POST['small_title']) || !$_POST['small_title']){
return show(0,"短标题没有填写朋友");
}
if(!isset($_POST['catid']) || !$_POST['catid']){
return show(0,"文章栏目不存在");
}
if(!isset($_POST['content']) || !$_POST['content']){
return show(0,"请提交您的文章");
}
/*
* 修改的时候, 直接提交到
*/
if($_POST['news_id']) {
return $this->save($_POST);
}
$newsId = D('News')->insert($_POST);
/*
* 下面操作我们的附表
*/
if($newsId){
$newsContentData['content'] = $_POST['content'];
$newsContentData['news_id'] = $newsId;
$CID = D('NewsContent')->insert($newsContentData);
if($CID){
return show(1,"文章新增成功!!");
}else{
return show(0,'主表插入成功文章新增失败了');
}
}else{
return show(0,"新增失败");
}
}
朋友们,不要慌, 一点点讲解, 包学包会: 上面的一部分, 是保存的文章的基本信息, 最为关键的是 $ newsId 返回的值 就是我们的 news_id , 我们需要这个 引路人指引我们去插入下面的另外的一张表。
贴上 MOdel 层的代码,就是 我们 大 D 的‘News’
public function insert($data = array()){
if(!$data || !is_array($data)){
return 0;
}
$data['create_time'] = time();
$data['username'] = getLoginUsername();
return $this->_db->add($data);
}
记住了, return 的是id
在, 第一个代码中, 后面一部分代码是 插入附表的代码, 用$newsContentData 储存我们需要插入附表中的内容, 然后在Model 层中插入到数据库,在此, 插入功能结束
news 这张 表是存放,文章的大致的信息的,比如,news_id , 文章的标题, 谁建立的文章, 创建的日期; content 这张表是建立拿来存放文章的, 包括了: 内容, 和 news_id , 这边的重点是一定要简历news_id 这张表, 因为,我们两张表之间是需要有联系的, 我们就把 news_id 当做我们的引路人。
top 1 , 插入文章:
public function add(){
if($_POST){
if(!isset($_POST['title']) || !$_POST['title']){
return show(0,"标题没有填写朋友");
}
if(!isset($_POST['small_title']) || !$_POST['small_title']){
return show(0,"短标题没有填写朋友");
}
if(!isset($_POST['catid']) || !$_POST['catid']){
return show(0,"文章栏目不存在");
}
if(!isset($_POST['content']) || !$_POST['content']){
return show(0,"请提交您的文章");
}
/*
* 修改的时候, 直接提交到
*/
if($_POST['news_id']) {
return $this->save($_POST);
}
$newsId = D('News')->insert($_POST);
/*
* 下面操作我们的附表
*/
if($newsId){
$newsContentData['content'] = $_POST['content'];
$newsContentData['news_id'] = $newsId;
$CID = D('NewsContent')->insert($newsContentData);
if($CID){
return show(1,"文章新增成功!!");
}else{
return show(0,'主表插入成功文章新增失败了');
}
}else{
return show(0,"新增失败");
}
}
朋友们,不要慌, 一点点讲解, 包学包会: 上面的一部分, 是保存的文章的基本信息, 最为关键的是 $ newsId 返回的值 就是我们的 news_id , 我们需要这个 引路人指引我们去插入下面的另外的一张表。
贴上 MOdel 层的代码,就是 我们 大 D 的‘News’
public function insert($data = array()){
if(!$data || !is_array($data)){
return 0;
}
$data['create_time'] = time();
$data['username'] = getLoginUsername();
return $this->_db->add($data);
}
记住了, return 的是id
在, 第一个代码中, 后面一部分代码是 插入附表的代码, 用$newsContentData 储存我们需要插入附表中的内容, 然后在Model 层中插入到数据库,在此, 插入功能结束
相关文章推荐
- 最近实现的一个分离文章内容功能,挺有意思,分享一下
- 基于thinkPHP类的插入数据库操作功能示例
- 用数据库批量修改替换dedecms文章标题和内容的步骤分享[图文]
- DEDE数据库批量修改替换文章标题和内容
- 面试技巧,如何通过索引说数据库优化能力,内容来自Java web轻量级开发面试教程
- SEO内容文章标题优化心得
- SQL索引一步到位(此文章为“数据库性能优化二:数据库表优化”附属文章之一)
- IE8实现拖拽效果的优化版(针对于我之前的一篇文章的内容)
- MySQL 数据库性能优化之索引优化(这是 MySQL数据库性能优化专题 系列的第三篇文章)
- 使用php自动将文章标题或内容进行分词,添加和删除标签功能实例!
- SQL索引一步到位(此文章为“数据库性能优化二:数据库表优化”附属文章之一)
- 面试技巧,如何通过索引说数据库优化能力,内容来自Java web轻量级开发面试教程
- Sqlite 数据库插入标示字段 获取新Id 及利用索引优化查询
- 用thinkphp实现上传文件到数据库的功能并且文件内容不可以重复
- 最近实现的一个分离文章内容功能,挺有意思,分享一下
- 在datagrid里实现文章内容在点击标题的时候收起或者展开的效果
- 四、优化数据库,将不同功能的表分别建立在不同的库中,尽量避免表的联合查询,重视索引
- SQL索引一步到位(此文章为“数据库性能优化二:数据库表优化”附属文章之一)
- SQL索引一步到位(此文章为“数据库性能优化二:数据库表优化”附属文章之一)
- HTML网页中插入输入框,输入框内容或代码可点击"运行代码"运行,在浏览器看到运行输入框内代码效果。此HTML代码由表单代码textarea和简单JS代码实现。 HTML代码: <textarea n