MySQLi Multi_Query Post

Я отправляю данные в мой PHP API, используя JSON. Я хочу отправить push-уведомление своему пользователю Android с этим API. Я сталкиваюсь с одной странной проблемой в этом.
Из JSON отправляю Mobile Number, Mobile Number Status а также User Id,

У меня есть две таблицы в моей базе данных:

  1. user который имеет поля под названием id, fcm а также fcm_enabled
  2. number_list который имеет поля под названием number, name а также user_id

Теперь я хочу отправить push-уведомление для любого статуса номера, который мы получаем из JSON в 1, Для отправки уведомления необходимо проверить, fcm_enabled=1то нужно получить fcm ключ от fcm поле из table 1Пользователь и name от table 2имя

Он нормально работает в нормальных условиях, но если два пользователя имеют один и тот же номер мобильного телефона, то я получаю два уведомления на одном устройстве и одно уведомление на другом.

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

$number = $_GET["number"];
$status = $_GET["status"];
$userIds = $_GET["userId"];
$sql = "";
for($i = 0; $i < count($number); $i++) {
if($status[$i] == 1) {
$sqlSelect = "SELECT t2.name, t1.fcm, t1.fcm_enabled FROM user AS t1 INNER JOIN number_list AS t2 ON t1.id = t2.user_id WHERE t2.number = '$number[$i]'";
$resultSelect = $conn->query($sqlSelect);
if($resultSelect) {
while($row = $resultSelect->fetch_row()) {
if($row[2] == 1) {
sendFCM(array("title" => $row[0] . " is Online", "body" => ""), array("message" => ""), $row[1]);
}
}
}
}
}

Благодарю.

1

Решение

Если есть одинаковый номер для двух пользователей, может быть, он извлекает дубликаты записей пользователей. «Группировать по» номер для извлечения может помочь вам.

Обновлен запрос:

$sqlSelect = "SELECT t2.name, t1.fcm, t1.fcm_enabled FROM user AS t1 INNER JOIN number_list AS t2 ON t1.id = t2.user_id WHERE t2.number = '$number[$i]'  GROUP BY t1.id";
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]