Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter 2.x:向我的条目添加标签_Php_Codeigniter - Fatal编程技术网

Php Codeigniter 2.x:向我的条目添加标签

Php Codeigniter 2.x:向我的条目添加标签,php,codeigniter,Php,Codeigniter,我正在构建一个应用程序,用户可以在其中添加注释。我希望用户能够添加一些标签的笔记,并过滤它之后。到目前为止,我允许用户使用类似%%的字符串和过滤器。但是它不能完全满足我的需要,因为当有更多的标签时,我可能需要搜索它们,使用操作符等等。例如:stackoverflow标签 我在考虑下面的SQL结构 有一个名为“notes”的表和一个名为“tag_id”的列 有一个名为“tags”的表,该表提供带有“text”的“tag_id” 一个函数,用于翻译每个数组(向前和向后),并将其替换为相反的等效值[

我正在构建一个应用程序,用户可以在其中添加注释。我希望用户能够添加一些标签的笔记,并过滤它之后。到目前为止,我允许用户使用类似%%的字符串和过滤器。但是它不能完全满足我的需要,因为当有更多的标签时,我可能需要搜索它们,使用操作符等等。例如:stackoverflow标签

我在考虑下面的SQL结构

  • 有一个名为“notes”的表和一个名为“tag_id”的列
  • 有一个名为“tags”的表,该表提供带有“text”的“tag_id”
  • 一个函数,用于翻译每个数组(向前和向后),并将其替换为相反的等效值[number标记翻译用于前端,标记翻译用于数据库和后续过滤]

问题是:这样做是个好主意吗?我应该如何构造我的数据库?你知道有什么特别的文章可以帮助我吗?

如果你想要一张带有多个标签的便笺,我建议你改变跟踪关系的方式。换言之,这意味着:

表注
-字段noteid
-字段注释名

表格标签
-字段标记ID
-字段noteid
-字段标记名

如果需要多对多关系,请将该关系存储在第三个表中,该表将有3列:1)linkid 2)tagid 3)noteid


然后,您可以通过查询noteid=noteid的标记表来检索特定表的所有标记,或者执行表的联接-实际联接将取决于您尝试执行的操作

您只需使用3个表即可完成:notes、tags、notes\u tags(外键:note\u id、tag\u id)。没有函数,只有查询