#php #mysql
#php #mysql
Вопрос:
Итак, что касается моего вопроса, у меня есть две страницы. Page1.php для сохранения информации о продажах клиентов и Page2.php для отображения продаж (страница 2 подключена к монитору в нашем офисе без взаимодействия с пользователем, без клавиатуры, без мыши).
.
На странице 1 пользователи могут сохранять информацию о продажах клиентов. Например, название продукта. Пользователь users всегда подключен к продаже. После отправки объявления о продаже я хочу, чтобы оно появилось на странице 2., и в нем было написано что-то вроде: Пользователь Demitri только что продал PS4.
Что я пробовал до сих пор:
Теперь, когда пользователь регистрирует продажу, она сохраняется в таблице MySQL и на странице 2. автоматически обновляет ( <meta http-equiv="refresh" content="10"/>
) страницу каждые 10 секунд, чтобы увидеть, была ли добавлена какая-либо новая запись в таблицу. Если есть новая запись, она будет отображать пользователя и продукт, который был продан на странице в течение 30 секунд, пример: пользователь Demitri только что продал PS4, а затем он удалит запись из таблицы, а затем снова обновит страницу, чтобы увидеть, была ли добавлена какая-либо новая записьв таблицу.
Чего я хочу достичь:
Мне нужна какая-то система, которую можно было бы использовать для передачи данных со страницы 1. на страницу 2, без необходимости какого-либо взаимодействия с пользователем на странице 2, и не нужно иметь скрипт автоматического обновления, который запускается каждые 10 секунд. Это также выглядит плохо, потому что при каждом обновлении веб-сайт будет как бы мигать.
Это очень громоздкий процесс, чтобы сделать это, должен же быть какой-то другой способ?
Комментарии:
1. вы можете использовать websockets
Ответ №1:
Я рекомендую использовать базу данных для хранения данных, и страница, которой нужны эти данные, может запрашивать данные.. Возможно, с помощью ajax, fetch и какой-нибудь функции setinterval
Комментарии:
1. Это почти то же самое, что и то, что сделал OP, но с использованием ajax вместо обновления
Ответ №2:
- Используйте ajax, поэтому вам не нужно обновлять страницу каждые 10 секунд.
- Используйте websockets. Как только вы заметите новую продажу, вы просто нажимаете на нее, а затем ваша подключенная страница может ее отобразить. Я думаю, это был бы лучший способ.
Комментарии:
1. Не могли бы вы привести пример использования websockets? Я никогда не пользовался им раньше.