伊莉討論區

標題: 如何做一個"加入收藏"功能 [打印本頁]

作者: daneil4444    時間: 2018-8-16 03:38 PM     標題: 如何做一個"加入收藏"功能

本帖最後由 daneil4444 於 2018-8-16 03:39 PM 編輯

如題,想做一個加入收藏功能
比如說收藏圖標還是文章...等,然後下次打開帳號就可以讀取

外面作法都是如何實現的?

煩請各位大大給的思路~感激不盡







作者: sss86523    時間: 2018-8-16 11:51 PM

其實作法有太多種,沒有一定的做法,需要考量到使用人數。

1.如果人少的話可以考慮使用一般關聯式資料庫(如mysql),存下該帳號收藏的文章編號,
登入時再透過Id取出每筆文章的標題呈現。

2.使用redis資料庫,使用記憶體效能較高,在存取時可採用集合Set的方式,值必須是唯一的,避免重複加入收藏,可以研究看看。


作者: daneil4444    時間: 2018-8-17 08:43 PM

sss86523 發表於 2018-8-16 11:51 PM
其實作法有太多種,沒有一定的做法,需要考量到使用人數。

1.如果人少的話可以考慮使用一般關聯式資料庫( ...

redis我去看看,看起來滿麻煩的,第一種是簡單但是人多不知道撐不撐得住..感謝回答
作者: daneil4444    時間: 2018-8-17 09:50 PM

sss86523 發表於 2018-8-16 11:51 PM
其實作法有太多種,沒有一定的做法,需要考量到使用人數。

1.如果人少的話可以考慮使用一般關聯式資料庫( ...

我決定用第一個做,我規劃2個資料表(用戶,文章)的如下:
1.用戶部分(table:user)--->   UserID    |     favoriteID
                                            56       |      23,34

2.文章部分(table:article)--->ArticleID  |      title
                                            23       |      xxxx
                                            45       |      zzzz
                                            34       |      yyyy

抓到favoriteID有的文章,如下2個陣列

23       |      xxxx
34       |      yyyy

我只想到用模糊搜尋like配合迴圈但不知道php怎麼下sql才能抓到

不好意思再幫幫我吧..感恩
作者: sss86523    時間: 2018-8-17 10:50 PM

本帖最後由 sss86523 於 2018-8-17 10:53 PM 編輯

1.用戶部分(table:user)
UserID,favoriteID
56,23
56,34

2.文章部分(table:article)
ArticleID,title
23,xxxx
45,zzzz
34,yyyy
[attach]124600340[/attach]
作者: daneil4444    時間: 2018-8-17 11:11 PM

sss86523 發表於 2018-8-17 10:50 PM
1.用戶部分(table:user)
UserID,favoriteID
56,23

UserID,favoriteID
56 | 23  ,    56 | 34   ,  56 | 78  ,...
只能是單獨一筆嗎

如果想寫在一起可行嗎?
56 | 23,34,78,....

補充內容 (2018-8-17 11:12 PM):
我是想限制收藏的數量,怕資料庫爆炸..

補充內容 (2018-8-17 11:13 PM):
這樣單獨一筆可以記錄加入收藏的次數
作者: sss86523    時間: 2018-8-18 08:12 AM

那是資料庫欸,你根本不用擔心爆炸,況且你只是一個key value組成,且都是代號,檢索效能很高。

如果你要算收藏次數,用sql的count函數去算就好了,大於某數字就不要新增並提示使用者,我傾向在前端就先判斷有沒有超出,後端仍然要擋。

另外,真的要合併不是不行,你可以用逗號區隔,之後使用where in取,但在正規劃來說不建議多值屬性,建議採用上面方法比較彈性。




作者: daneil4444    時間: 2018-8-18 10:42 AM

sss86523 發表於 2018-8-18 08:12 AM
那是資料庫欸,你根本不用擔心爆炸,況且你只是一個key value組成,且都是代號,檢索效能很高。

如果你要 ...

原來是這樣!
照你這樣就好做多了,我還想老半天..
感謝你細心解惑





歡迎光臨 伊莉討論區 (http://www11.eyny.com/) Powered by Discuz!