#php #html #phpmyadmin #notifications
#php #HTML #phpmyadmin #уведомления
Вопрос:
Я работаю над созданием собственного форума как проекта. Пользователи могут зарегистрироваться, а затем отправлять сообщения с просьбой о компьютерной помощи, которые могут видеть другие пользователи. Я хочу уведомить всех зарегистрированных пользователей после публикации нового сообщения. Форум выполняется с помощью простого phpmyadmin.
Уведомление, подобное этому:
//Someone responds to a post
Notification.requestPermission();
var data = {
msg: "Someone responded to your message!",
core: "Click here to check it out."
}
var e = new Notification("Computer help", {
body: data.msg "n" data.core,
icon: "https://pbs.twimg.com/profile_images/456184176090169344/HNPOSKyp.png",
tag: "ONE TIME"
});
e.onclick = function(){
location.href = "https://google.com";
}
Сначала запрашивается разрешение на отправку уведомления, если разрешение еще не предоставлено.
Мой вопрос: как мне отправить это уведомление каждому пользователю в таблице пользователей, кроме того, кто публикует сообщение. Я знаю, что это потребуется для входа в систему других пользователей. Но возможно ли это вообще с помощью phpmyadmin, который хранит информацию о пользователях и сообщениях?
РЕДАКТИРОВАТЬ: ниже приведен код, который я использую для вывода всех пользователей в таблице, которые не равны текущему пользователю. Сейчас я работаю над тем, как использовать $query для отправки всем вышеуказанного уведомления.
if(!isset($_SESSION['userSession']))
{
header("Location: index2.php");
}
$query = $MySQLi_CON->query("SELECT * FROM users WHERE user_id != ".$_SESSION['userSession']); //selects all users except the one logged in and stores them into $query
$userRow=$query->fetch_array();
error_reporting(0);
if ($query->num_rows > 0) {
// output data of each row
while($row = $query->fetch_assoc()) {
echo "<br> id: ". $row["user_id"]. " - Name: ". $row["email"]. "<br>"; //outputs all the users in the 'users' table that's not logged in
}
} else {
echo "0 results";
}
$MySQLi_CON->close();
?>
Комментарии:
1. Я предполагаю, что у вас есть пользовательские таблицы, которые вы бы запрашивали у своих пользовательских таблиц, чтобы получить идентификаторы пользователей, кроме текущего пользователя, из идентификаторов пользователей вы сможете получать их электронные письма, а затем отправлять уведомления, допустим, например, для текущего пользователя, который зарегистрирован в их идентификаторе, мы бы что-то сделалинапример: ВЫБЕРИТЕ * ИЗ пользователей, У КОТОРЫХ НЕТ id = 4;
2. Да, есть таблица пользователей, которую я должен запросить. Но это не почта, которую я хочу использовать в качестве средства для отправки уведомления. Для этого я хочу использовать API уведомлений html5 — как тот, который я написал в своем вопросе. Я хочу, чтобы это уведомление появлялось для каждого пользователя, вошедшего в систему немедленно. Как мне это сделать?
3. та же логика, что и выше, вы смотрите, кто опубликовал (у вас это уже есть) сообщение / сообщение, затем сохраняете сообщение в таблице уведомлений с идентификатором posters, а затем отправляете его всем пользователям, которые не соответствуют идентификатору пользователя в таблицах уведомлений. например, таблицы not (not_ID, user_ID, разрешение). Затем вы сможете запросить обе таблицы, используя идентификаторы
4. Я не уверен, ясно ли я объясняю, но у меня есть логика для этого
5. Я пытаюсь это понять, у меня возникли проблемы с этим, я думаю. Вы говорите, что это похоже на «проверьте, кто НЕ отправил сообщение — ВЫБЕРИТЕ * ИЗ пользователей, ГДЕ НЕ id = «$ _POST [id]»», но затем сохраните уведомления в своей собственной таблице? Я еще не создал для них таблицу, потому что не знал, что в этом есть необходимость.