簡體   English   中英

在MYSQL表中存儲Facebook用戶喜歡的數組

[英]Storing Facebook User Likes` array in MYSQL table

我有一個分析Facebook用戶喜歡的應用程序,並根據該數據向他/她顯示視頻。 現在的問題是,我需要將用戶喜歡的數據存儲在MYSQL表中。 數據看起來像這樣

array(2) { ["data"]=> array(46) { [0]=> array(4) { ["category"]=> string(21) "Media/news/publishing" ["name"]=> string(20) "Cosmopolitan Armenia" ["id"]=> string(15) "146307748762264" ["created_time"]=> string(24) "2013-03-20T14:40:43+0000" } [1]=> array(4) { ["category"]=> string(17) "Telecommunication" ["name"]=> string(5) "Zangi" ["id"]=> string(15) "386291674718829" ["created_time"]=> string(24) "2013-03-20T11:07:46+0000" } [2]=> array(4) { ["category"]=> string(13) "Musician/band" ["name"]=> string(11) "Ray Charles" ["id"]=> string(12) "430894850091" ["created_time"]=> string(24) "2013-03-16T22:03:46+0000" } [3]=> array(4) { ["category"]=> string(4) "Cars" ["name"]=> string(13) "Mazda Armenia" ["id"]=> string(15) "447042531989769" ["created_time"]=> string(24) "2013-03-16T22:01:46+0000" } [4]=> array(4) { ["category"]=> string(13) "Musician/band" ["name"]=> string(16) "Lockport Artists" ["id"]=> string(15) "615416628475063" ["created_time"]=> string(24) "2013-03-16T21:07:22+0000" }

您可以建議采用哪種結構來保存此類數據。 我可以將一列作為長文本保留,但是這將是非常專業的,並且響應時間將非常長。

假設您的數組稱為$ likes。 你可以做類似的事情

$likes_to_store = json_encode($likes);

然后,您想要將$likes_to_store存儲在數據庫中。

稍后,在檢索信息以供使用時,您將

$likes_to_analyze = json_decode($likes_from_db);

這是一種將數組存儲在數據庫中以供以后使用的干凈簡便的方法,因為該數組被序列化為一個字符串,占用少量空間。

我的建議是為您創建一個適當的表並將每個值存儲在列中。 為什么? 好的數值在一列中被序列化了,它們只是在填充您無法創建適當查詢的空間,將來您可能想要創建統計信息或使用此數據來研究用戶的行為或類似的行為。

因此,一個簡單的查詢只是為了統計您擁有“媒體/新聞/出版”類別的喜歡數量,因此您將被迫使用like函數在序列化數據中查找所需內容。

查詢數據庫,將結果檢索為數組然后使用json_encode進行序列化再簡單不過了

Facebook圖形使用JSON回復。

您可以將JSON作為序列化數組存儲在MySQL中。

但是,我建議在您的應用程序中創建一個“ Like”類,並實例化和保留Facebook JSON響應中的“ Like”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM