Я создаю функцию, которая добавит журнал того, что мой пользователь сделал в мою базу данных, чтобы затем я мог создать фид активности для фида активности других пользователей.Структура механизма подачи
То, что я представляю себе, похоже, пока что.
таблица активности
id | user_id | source | source_id | timestamp
Пример ввода
1 | 1 | photo_upload | 54 | 1333906150 //54 being the ID of the photo in my DB
2 | 1 | follow | 2 | 1333906159 // 2 being the id of a user
Таким образом, я могу легко извлекать информацию из базы данных для активности пользователей, "user_id = {$followers}
затем показать их в соответствии с чем их источник например, показать изображение для photo_upload.
EDIT Что будет лучшим способом отображения различных типов фидов. Это то, что у меня сейчас есть, но это кажется немного.
<?php
$grab = mysql_query("SELECT * FROM `activity` WHERE `user_id` IN (".$following.") ORDER BY `id` DESC");
while($row = mysql_fetch_array($grab)){
switch ($row['source']) {
case "photoupload":
// Display photo upload layout
break;
case "follow":
// Display follow layout
break;
}
}
?>
Кто-нибудь видит какие-либо способы улучшить это?
Наиболее очевидным улучшением является _NOT_, чтобы использовать временную метку Unix, а скорее [соответствующий столбец DATETIME] (http://dev.mysql.com/doc/refman/5.0 /en/datetime.html). –
У вас возникли проблемы до сих пор? – Lix
@Micheal Зачем вам это советовать? – Harry