一般,用数据库查询功能的时候,一般我们建立文章的表要建立 主表, 和副表, 有利于文章的搜索, 下面简历了连个表,
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 层中插入到数据库,在此, 插入功能结束