我正在開發一個PHP應用程序,包括視頻部分。到目前爲止,我已將視頻標記構建爲視頻分類。當您添加視頻時,您可以從25個預定義標籤中進行選擇,以便最好地描述您的視頻內容。然後MySQL通過視頻標記查詢類似視頻(CodeIgniter)
這些標籤都保存在一個單獨的表,videotags
,看起來像這樣:
video_id | first_tag | second_tag | third_tag | etc.
----------------------------------------------------
123 | 1 | 0 | 1| ...
因此,這意味着,當你在表單檢查一些標籤,它被存儲爲1數據庫,未選中爲0
現在,當您觀看視頻時,你可以看到一個主體,在視頻和介紹,和右列,其中相似的視頻應該是。
我想建一個MySQL查詢將返回6個類似的視頻,根據視頻標籤,像這樣的規則:
這些影片,至極擁有最相同的視頻的標籤,看視頻,會訂購併限制爲6
例如,我想查看ID爲12的視頻,有六個充滿標籤,並在我的數據庫我有3個視頻:
- 視頻ID爲22有7個標籤,4個與視頻w相同ith ID 12.
- ID爲25的視頻具有8個標籤,5個與ID 12視頻相同。
- ID爲45的視頻具有4個標籤,3個與ID 12視頻相同。
正如我在主題名稱都提到,我建立CI中的PHP應用程序,因此該查詢將在一個特定的模式作爲一個函數來運行,我會在這個函數來傳遞數組$tags
這樣$tags['first_tag'] = 1
。
任何人都可以幫助我建立這個查詢指定?我正在使用CI中的Active Record Class,因此使用它會受到歡迎。
謝謝你們爲響應
謝謝,它的工作很棒!我只需要在那裏發送非零標籤,並將「DESC」更改爲「ASC」。你最感謝我,AquillaX。 – marwellt 2013-02-25 10:16:50
當然是ASC,我在想什麼。樂意效勞。 – AquilaX 2013-02-26 04:21:15