我正在使用各种乐队的歌词在网站上工作,就像Lyrics.com一样。我现在拥有的是一个页面,它回显了乐队的名字,歌曲的标题和文本本身来自数据库。我想对此进行适当的分类。
以“甲壳虫乐队”为例,“永远的草莓园”。
我想把它归类为“披头士乐队”中的“B”。并在Example.com/b/
列出以字母B开头的每个乐队。我的问题:
author
和authour-clean
中创建两列将有很多工作。另外,我的网址目前是:
example.com/lyrics.php?id=1
。我希望这看起来像example.com/b/beatles/strawberry-fields-forever
。从谷歌搜索我明白这可以用.htacces完成吗?我的数据库现在是否正确设计?这就像ATM:
(darn,cant post images - 这里是纯文本)
id (int10)
title (varchar255)
author (varchar255)
lyrics (text)
我在想我需要另一个专栏,例如category
并且对于此示例,值b
(如披头士乐队)更容易列出以B开头的所有乐队,并确保htaccess是可能的?
答案 0 :(得分:2)
- 乐队的名字是The Beatles但是“The”应该被删除。我该怎么做?在数据库
author
和authour-clean
中创建两列将有很多工作。
虽然这看起来似乎是更初始的工作,但实际上你会发现它是一种解决方案,从长远来看,它需要的工作量更少。
如果您要根据应该如何搜索来对作者进行预索引,那么您可以让SQL在返回结果时为您完成所有工作。
将数据正确存储在数据库中总是优先于在拉出数据时进行复杂处理(一遍又一遍)。空间比处理能力便宜很多,更不用说从长远来看这将会有多快。
答案 1 :(得分:1)
有几种方法可以完成第一个目标。最好的方法是像Trendee建议的preg_replace,甚至将字符串分成数组然后搜索你想要替换的单词的实例。阵列版本很酷,因为你可以很容易地改变它周围的东西。
至于第二个目标,你正在看mod_rewrite。发生的事情是当你转到你的url example.com/b/beatles/strawberry-fields-forever时,你会有一个重写规则,说“对待每个/好像它是查询字符串的一部分”而你定义每个人是什么。所以实际上,你的网址是:
?类别= B和带=披&安培;歌曲=草莓场-永远。
tons of examples如何做到这一点
答案 2 :(得分:0)