詳細介紹:
演示地址:
思路
圖(tu)片不完整請進(jin)詳細介紹地址查(cha)看
此方法(fa)有(you)瑕疵,并不(bu)是很(hen)完(wan)美,因為不(bu)懂PHP,有(you)能力的(de)希(xi)望幫忙優化一下首(shou)字母獲取的(de)一個方案。
話(hua)不多說教程(cheng)開始,快(kuai)準狠(hen)。
本(ben)教程在eyoucms1.5.8 ,靜態tag下可使用。其(qi)他(ta)請自(zi)測(ce)
第一步:數據庫如何進行首字母獲取(數據庫使用為可視化操作)
1、在數據(ju)表ey_tagindex中新(xin)建(jian)一個字(zi)段 initial 做為首字(zi)母(mu)字(zi)段
2、新建一個定時器 用來(lai)每(mei)日執行(xing)sql代碼,進行(xing)每(mei)日更(geng)新一次tag首(shou)字母。(這(zhe)個地方(fang)官方(fang)的多城市獲(huo)取首(shou)字母方(fang)式我不知道,有能力改成php應該執行(xing)效率更(geng)好)
(如何(he)開啟這個事件狀(zhuang)態呢?)
要么百度,要么按照我(wo)這個方式來
my.ini的(de)[mysqld]下加上一行event_scheduler=ON
寶塔環境(jing)。
然后就(jiu)可(ke)以了(le)。
進行添加事件
每天更新的意思。
定義里面(mian)放sql語(yu)句,復制黏(nian)貼即可
update ey_tagindex as u
INNER JOIN
(
select tag ,
ELT(INTERVAL(CONV(HEX(LEFT(CONVERT(tag USING gbk),1)),16,10),0xB0A1,0xB0C5,0xB2C1,0xB4EE,0xB6EA,0xB7A2,0xB8C1,0xB9FE,0xBBF7,
0xBFA6,0xC0AC,0xC2E8,0xC4C3,0xC5B6,0xC5BE,0xC6DA,0xC8BB,0xC8F6,0xCBFA,0xCDDA,0xCEF4,0xD1B9,0xD4D1),
'A','B','C','D','E','F','G','H','J','K','L','M','N','O','P',
'Q','R','S','T','W','X','Y','Z')
AS `initial` FROM ey_tagindex WHERE LEFT(tag,1) NOT IN ('A','B','C','D','E','F','G','H','J','K','L','M','N','O','P',
'Q','R','S','T','W','X','Y','Z')
)
as r
on u.tag = r.tag
set u.initial= r.initial37分(fen)時自動更新,查(cha)看數據
自動更(geng)新首字母大概就(jiu)這樣完成了,缺點就(jiu)是(shi)不能實時更(geng)新,當(dang)然也能,每小時定時就(jiu)行了,就(jiu)是(shi)執行效率不高。
第二步:TAG主頁模板代碼(適用城市站里面加了注釋)
代碼多就不貼出(chu)來(lai)了,放附件。