Подтвердить что ты не робот

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

В настоящее время я работаю над мобильным приложением, которое позволяет просить друзей для избранных, это интерфейс HTML5 и PHP-сервер. Я застрял в том, что лучший способ - создать систему уведомлений, тем более схему базы данных, чем сам фактический код.

Поток мобильного приложения выглядит следующим образом:

  • Пользователь запрашивает услугу
  • Пользователь может выбрать; уведомлять всех друзей, уведомлять любимых друзей или друзей друзей друзей.
  • В зависимости от того, что пользователь выбрал, люди уведомляются

Каков наилучший способ сделать это в PHP и MySQL? Я не прошу кого-нибудь написать мне PHP-код, а скорее наметить наиболее идеальную схему таблиц и полей MySQL вместо этого, поскольку именно это я сейчас застрял. Заранее благодарим за помощь.

4b9b3361

Ответ 1

Вы можете создать таблицу уведомлений, например:

from_user | to_user | notification | seen

а затем всякий раз, когда вы хотите уведомить пользователя, вы просто добавляете запись с необходимой информацией и устанавливаете 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  

Ответ 2

Почему бы не просто перечислить все уведомления в таблице с названием "уведомления"

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
 }

Ответ 3

Расширение ответа Джеффри:

id  |  from_user | to_user | notification | seen | timestamp
 -         -          -          -           -         -

timestamp поможет вам определить, в какой момент произошло определенное уведомление. Вы также можете создать момент времени, расширив script с помощью timeago.js или Livestamp.js

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