Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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是否有数据库分类检索表_Php_Mysql - Fatal编程技术网

PHP是否有数据库分类检索表

PHP是否有数据库分类检索表,php,mysql,Php,Mysql,我想把一些文章存入数据库。我使用php和mysql。 是否有数据库分类检索表? 比如: 以便: $query = mysql_query("SELECT * FROM keywordtable WHERE keyword1='$word' OR keyword2='$word' OR keyword3='$word' OR keyword4='$word' "); 如果文章中的某些单词与其中一个关键字匹配,文章将插入目录-sport。 谢谢 我需要一个像我的例子一样的表,它应该有很多单词,可以

我想把一些文章存入数据库。我使用php和mysql。 是否有数据库分类检索表? 比如:

以便:

$query = mysql_query("SELECT * FROM keywordtable WHERE keyword1='$word' OR keyword2='$word' OR keyword3='$word' OR keyword4='$word' ");
如果文章中的某些单词与其中一个关键字匹配,文章将插入目录-sport。 谢谢


我需要一个像我的例子一样的表,它应该有很多单词,可以让我参考:如果我的文章出现这些单词,我可以把它放到它应该在的目录中。我知道有越来越多的词可以定义为
sport

如果您使用像
something1
something2
这样的字段,那么您可能应该为它们使用不同的表,基本上这就是关系数据库的用途。(当然,使用这样的东西有一些正当的理由,例如缓存。)

如果我理解您的要求,您希望有一个关键字表,您可以对照它检查内容。如果内容与任何关键字匹配,则使用关联目录对内容进行标记。如果正确,则需要4张表:

关键词
  • 克沃德
  • 目录id,int非空FK目录
目录
  • 目录id,int非空主键
  • 目录名,varchar
文章目录
  • art_id,int非空FK文章
  • 目录id,int非空FK目录
文章,MyISAM
  • art_id,int非空主键
  • 艺术名称,varchar
  • 内容,全文索引

    插入文章目录(艺术id、目录id) 选择不同的a.art\U id、k.dir\U id 来自文章a,关键词k 其中(a.内容)与(k.郭德)匹配


上面的查询将标识文章可能属于的所有可能目录。这意味着一篇文章可以同时属于“体育”和“娱乐”,例如。

这很好…:)问题是什么?(哦,不是每个关键字都有一个单独的列,而是将的关键字拆分到另一个表中。这样,您只需执行
SELECT*FROM tbl WHERE keyword='$word'和doc_id='$id'
)@vbence,@Yacoby,我需要一个类似于我的示例的表,它应该有许多单词可以让我参考:如果我的文章出现这些单词,我可以把它放到它应该在的目录中。我知道有越来越多的词可以定义为
sport
@cj333:你要求的表格结构没有规范化,将来会给你带来很多痛苦。我描述的
keywords
表允许在一个目录中输入您想要的任意多个关键字。假设运动有一个dir_id=1,你会在
关键字中插入('football',1),('network',1),('sweeling',1)。谢谢,你教了我一个新的。但我还是想问一张桌子,关于体育,商业,互联网。。。我能想到足球、网球、游泳、f1。。。这些词属于体育,但我可能会丢失很多词,因为我没有想象它们。如果有,我需要一张专业的桌子。再次感谢。@cj333:您可以有任意多个目录和任意多个关键字。在目录表中,插入“体育”、“商业”、“家庭”、“杂项”。看一看,看看目录id是什么。然后使用新关键字和相应的
dir\u id
s插入关键字表。例如:('soccer',1),('computer',2),('finance',2),('kitchen',3),('other',4),('attic',3)。
$query = mysql_query("SELECT * FROM keywordtable WHERE keyword1='$word' OR keyword2='$word' OR keyword3='$word' OR keyword4='$word' ");