我正在建立一个漫画网站并实施了搜索.搜索最初使用图像标题...这工作正常:
if (strtolower($input)==strtolower(substr($row['title'],0,strlen($input)))) {
Run Code Online (Sandbox Code Playgroud)
但现在我觉得很多人都不会记得这个头衔.所以我在数据库中添加了一个名为"keywords"的列,varchar [55] ...我的测试条目是字符串"five,second,rule,food,rules".我想我可以替换$row['title'],$row['keywords']搜索仍然有效.
如果我从字符串的开头开始搜索就行了,比如我输入"five,seco ......"但是如果我从字符串的中间开始,如"second"或"rule"等,则不行.
关于如何使这项工作的任何想法?
谢谢!
在漫画专栏中这样做只会带来眼泪,因为它会破坏正常化.你应该做的是创建一个关键字表,每个条目有一个单词,然后是一个与关键字匹配的数据透视表到漫画.然后你可以做一个连接来找到匹配的所有漫画.
设置工作更多,但从长远来看更灵活.
编辑:
关键字表:
id keyword
1 x-men
2 action
3 mystery
4 batman
etc.
Run Code Online (Sandbox Code Playgroud)
comic_keyword表
comic_id keyword_id
45 3
678 1
678 2
77 3
77 4
etc.
Run Code Online (Sandbox Code Playgroud)
第二个表(数据透视表)将漫画的ID与他们关联的关键字的ID相匹配.这就是多数情况下应该建模的多对多关系.
| 归档时间: |
|
| 查看次数: |
432 次 |
| 最近记录: |