Сенсей
Новичок
История действий юзера аля одноклассники
Вот надо замутить историю действий пользователей (друзей) , что то вроде как на одноклассниках:
В основном нужно выводить действия на:
user_id=1 и user_id=2 подружились
user_id=1 изменил свой статус на bla bla bla
user_id=1 отметил вас на фотографии id=4545
user_id=1 отметил вас (user_id=2) на фотографии photo_id=4545
user_id=1 отметил СЕбЯ (user_id=1) на фотографии photo_id=5656
и т.д
Первая идея самая простая:
table : history | id | user_id | text | date |
То есть таблица вообще не знает что и кто кому сделал. Вывод данных - обычный селект.
Ввод - при любом из вышеперечисленных действий, генерируется html код где уже идет готовая информация что-то типа "Вася такой то отметил вас на фотографии такой то" - и весь этот текст записывается в таблицу с user_id кому это сообщение должно потом показываться.
Все просто но неэкономно. Писать полностью отформатированное сообщение в базу? Лишние kb + гибкости никакойю Например юзер отметил кого-то на фотке, тому юзеру отправилось сообщение. Через минуту юзер заметил что указал не того человек на фотографии и удалил его с нее. Удалить же отправленное сообщение уже не удастся - потому что кроме id новой записи в таблице history у нас ничего нет.
Еще есть мысль создать поле например type где если вписано PHOTO = значит брать при выводе откуда то id двух юзеров и id фотки, и при выводе состовлять уже сообщение "Вася такой то отметил вас на фотографии такой то".
Но вот тут уже голова не слишком работает как базу организовать. Делать одну таблицу - получится каша, ведь действий много, в одном действии используются id юзеров, в другом id фоток, в третьем еще что-то...
Вобщем кто сталкивался, посоветуйте что нибудь. Хоть намек как лучше организовать что бы потом меньше проблем было.
Вот надо замутить историю действий пользователей (друзей) , что то вроде как на одноклассниках:

В основном нужно выводить действия на:
user_id=1 и user_id=2 подружились
user_id=1 изменил свой статус на bla bla bla
user_id=1 отметил вас на фотографии id=4545
user_id=1 отметил вас (user_id=2) на фотографии photo_id=4545
user_id=1 отметил СЕбЯ (user_id=1) на фотографии photo_id=5656
и т.д
Первая идея самая простая:
table : history | id | user_id | text | date |
То есть таблица вообще не знает что и кто кому сделал. Вывод данных - обычный селект.
Ввод - при любом из вышеперечисленных действий, генерируется html код где уже идет готовая информация что-то типа "Вася такой то отметил вас на фотографии такой то" - и весь этот текст записывается в таблицу с user_id кому это сообщение должно потом показываться.
Все просто но неэкономно. Писать полностью отформатированное сообщение в базу? Лишние kb + гибкости никакойю Например юзер отметил кого-то на фотке, тому юзеру отправилось сообщение. Через минуту юзер заметил что указал не того человек на фотографии и удалил его с нее. Удалить же отправленное сообщение уже не удастся - потому что кроме id новой записи в таблице history у нас ничего нет.
Еще есть мысль создать поле например type где если вписано PHOTO = значит брать при выводе откуда то id двух юзеров и id фотки, и при выводе состовлять уже сообщение "Вася такой то отметил вас на фотографии такой то".
Но вот тут уже голова не слишком работает как базу организовать. Делать одну таблицу - получится каша, ведь действий много, в одном действии используются id юзеров, в другом id фоток, в третьем еще что-то...
Вобщем кто сталкивался, посоветуйте что нибудь. Хоть намек как лучше организовать что бы потом меньше проблем было.