В настоящее время я работаю над мобильным приложением, которое позволяет вам просить друзей для избранных, это интерфейс HTML5 и PHP-сервер. Я застрял в том, что лучший способ – создать систему уведомлений, тем более схему базы данных, чем сам код.
Поток мобильного приложения выглядит следующим образом:
Каков наилучший способ сделать это в PHP и MySQL? Я не прошу кого-нибудь написать мне PHP-код, а скорее наметить наиболее идеальную схему таблиц и полей MySQL вместо этого, поскольку именно это я сейчас застрял. Заранее спасибо за вашу помощь.
Вы можете создать таблицу уведомлений, такую как:
from_user | to_user | notification | seen
а затем всякий раз, когда вы хотите уведомить пользователя, вы просто добавляете запись с необходимой информацией и устанавливаете на 0
/ false
.
Затем, когда пользователь читает уведомление, вы устанавливаете этот параметр равным 1
/ true
.
Пример:
from_user | to_user | notification | seen - - - -
Пользователь john уведомить пользователя jeff:
from_user | to_user | notification | seen john jeff whatever.. 0
Пользователь jeff прочитал уведомление:
from_user | to_user | notification | seen john jeff whatever.. 1
Почему бы не просто перечислить все уведомления в таблице, называемые «уведомлениями»,
id | user_id | from_user_id | notification
Затем в качестве псевдокода:
// Create a notification from User A to User B $this->db->insert ('notifications', array ('user_id' => $friends_id, 'from_user_id' => $current_user_id, 'notification' => $message)); // The meanwhile, on your home page or somewhere, wherever you want to display notifications $this->db->where ('user_id', $current_user_id) $notifications = $this->db->get ('user_id'); foreach ($notifications as $notification) { // Display the notification as needed // Optionally delete the notification as it is displayed if it is a "one off" alert only }
Расширение ответа Джеффри:
id | from_user | to_user | notification | seen | timestamp - - - - - -
timestamp поможет вам определить, в какой момент произошло определенное уведомление. Вы также можете создать момент времени, расширив свой скрипт с помощью timeago.js или Livestamp.js
Это также поможет вам создать временную шкалу уведомлений, а обслуживание уведомления будет проще.