Лучший способ создать многопользовательскую систему в PHP

В настоящее время я работаю над мобильным приложением, которое позволяет вам просить друзей для избранных, это интерфейс 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 
  • id = идентификатор уведомления
  • user_id = кто является уведомлением?
  • from_user_id = кто отправил уведомление?
  • уведомление = сообщение

Затем в качестве псевдокода:

 // 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

Это также поможет вам создать временную шкалу уведомлений, а обслуживание уведомления будет проще.