用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1372|回复: 1
收起左侧

[讨论/交流] 请问有什么好的方法实现文章添加标签的方法

[复制链接]
发表于 2019-3-20 11:47:34 | 显示全部楼层 |阅读模式
我的设计思路是
添加文章的时候,把标签字段用|隔起来,这样查询的时候直接查看某个|标签名|,这样就不会出现查找ab标签,把abc的结果一起出来。
另外建了个表tags{tagid,tagname,num}用来存储一下标签和相关文章数量
在tag模型里循环遍历查询数组$tagdata中的每个标签,到数据库中查询如果存在数量加一,不存在则插入
但我我总感觉有更简便的方法,这样插入一次就循环多次查询数据库觉得不是很合适。


  1.                         $data['cat_id'] = $this->input->post('cat_id',true);
  2.                         $data['title'] = $this->input->post('title');
  3.                         $data['author'] = $this->input->post('author',true);
  4.                         $data['content'] = $this->input->post('content',true);

  5.                         $tags= $this->input->post('tags',true);
  6.                         $tags=str_replace(',','|',$tags);
  7.                         $tags=str_replace(',','|',$tags);
  8.                         $data['tags'] ="|".$tags."|";
  9.                         $tagdata=explode('|',$tags);
  10.                           if($this->art_model->add_art($data)){
  11.                                 $this->tag_model->add_tags($tagdata);
  12.                                 #返回信息
  13.                         }
复制代码

发表于 2019-3-22 10:53:20 | 显示全部楼层
你了解下path模式咋整的。

比如用户填的是  abc,bcd,cde, 你要精准查询那么入库时就得补完前后的  ,abc,bcd,cde, 逗号。
然后搜索的时候 like ',%,' 这样。

本版积分规则