2014-12-02 77 views
1

使用SPIP,我試圖建立一個系統,每天都會選擇一篇隨機文章。我需要存儲當天的文章主要有兩個原因:SPIP API SQL,左加入自定義表

  • 確保每個人都有一天
  • 避免在同一篇文章的同一篇文章的其他日子
被拾起第二次

爲了能夠存儲選擇的項目,我創建了一個通用表:

CREATE TABLE IF NOT EXISTS `spip_random` (
    `id_random` bigint(21) NOT NULL AUTO_INCREMENT, 
    `object` varchar(25) NOT NULL, 
    `id_object` bigint(21) NOT NULL DEFAULT '0', 
    `type` text NOT NULL, 
    `date_picked` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', 
    PRIMARY KEY (`id_random`), 
    KEY `object` (`object`,`id_object`), 
    KEY `id_random` (`id_random`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; 

她鄂氏線的一堆其中可以存儲:

(1, 'article', 54, 'article_of_the_day', '2014-11-29 00:03:54') 
(2, 'article', 198, 'article_of_the_day', '2014-11-30 09:32:03') 
(3, 'article', 113, 'article_of_the_day', '2014-12-01 14:11:04') 
(4, 'article', 3, 'article_of_the_day', '2014-12-02 11:52:28') 

腳本來選擇當天的文章效果很好。


現在,我面臨的一個問題,當我嘗試檢索這篇文章在SPIP循環。我想用這樣的循環:

<BOUCLE_day(ARTICLES spip_random) {par date_picked} {inverse} {0,1}> 
    #ID_ARTICLE 
</BOUCLE_day> 

由於SPIP文檔(EN/FR)時,應jonction和spip_articles之間spip_random進行描述,因爲我已經有了這兩個領域:

  • object
  • id_object

但nothi ng返回。

如果我試試這個簡單的循環,它會顯示正確的#ID_OBJECT

<BOUCLE_day(spip_random) {par date_picked} {inverse} {0,1}> 
    #ID_OBJECT 
</BOUCLE_day> 

我根本無法加入我的自定義表(spip_random)和ARTICLESspip_articles)。我錯過了什麼嗎?

回答

1

我終於找到答案。

SPIP使用法語作爲其默認語言,包括函數,關鍵字和...... SQL專欄!你爲什麼不使用公佈之日起

CREATE TABLE IF NOT EXISTS `spip_random` (
    `id_random` bigint(21) NOT NULL AUTO_INCREMENT, 
    `objet` varchar(25) NOT NULL, 
    `id_objet` bigint(21) NOT NULL DEFAULT '0', 
    `type` text NOT NULL, 
    `date_picked` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', 
    PRIMARY KEY (`id_random`), 
    KEY `objet` (`objet`,`id_objet`), 
    KEY `id_random` (`id_random`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; 
0

我需要使用objetid_objet獲得此代碼工作(注意失蹤c)?然後只顯示當天的文章。