mysqli多用户查询帖子

bwitn5fc  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(329)

我使用json将数据发送到我的php api。我想用这个api向我的android用户发送一个推送通知。我面临一个奇怪的问题。从json,我发送 Mobile Number , Mobile Number Status 以及 User Id .
我的数据库中有两个表: user 其中的字段称为 id , fcm 以及
fcm_enabled number_list 其中的字段称为 number , name 以及 user_id 现在我想发送一个push通知到我们从json中得到的任何一个数字状态 1 . 要发送通知,需要检查 fcm_enabled=1 ,那么它需要 fcm 钥匙从 fcm 字段自 table 1 的用户,以及 nametable 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]);
                }
            }
        }
    }
}

谢谢。

disho6za

disho6za1#

如果两个用户有相同的号码,则可能是它获取了用户的重复记录。”分组方式“取数可以帮你。
已使用以下内容更新查询:

$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";

相关问题