我希望它的名字是頁面地址。例如,如果頁面標題爲「某些頁面」,則其地址應爲http://somesite/some_page/。 「some_page」 - 系統自動生成的名稱。 「some_page」 - 是頁面的唯一標識符。問題在於將來的用戶可以輸入一個已經存在的會導致錯誤的名字。頁面URL和數據庫組織
有必要爲大量數據找到問題決策的最佳變體。
我已經解決了一個問題,如下所示: 數據庫中的頁面標識符是頁面名稱和默認等於零的後綴。在頁面添加時會檢查是否存在。如果此頁面不存在,則後綴爲0,如果頁面存在,則其名稱爲「some_page」; - 搜索後綴的最大數量,後綴=後綴+1,頁面名稱變爲「some_page_1」。
爲此,我在數據庫中創建域「後綴」的複合鍵和「頁面名稱」:
Table Pages
suffix|pageName |pageTitle
0 |some_page |Some Page
1 |some_page |Some Page
0 |other_page|Other Page
加成頁面通過存儲過程中出現:
CREATE PROCEDURE addPage (pageNameVal VARCHAR(100), pageTitleVal VARCHAR(100))
BEGIN
DECLARE v INT DEFAULT 0;
SELECT MAX(suffix) FROM pages WHERE pageName=pageNameVal INTO v;
IF v >= 0 THEN
SET v = v + 1;
ELSE
SET v = 0;
END IF;
INSERT INTO pages (suffix, pageName) VALUES (pageNameVal, v, pageTitleVal);
END;
是否有更多的最好的決定?
您是否嘗試過查看.htaccess?你不需要這麼做,以這種方式創建頁面:\ – Tim 2010-04-26 14:48:32
當你選擇數據回來,你怎麼知道你是否需要'some_page_1'或'some_page_2'? – 2010-04-26 14:57:09
公里,如果我需要some_page_2,我會選擇pageName ='some_page'和後綴= 2。 蒂姆,爲什麼? – shurik2533 2010-04-27 05:41:14