Php 状况不正常
我正在尝试做一个函数,根据我的情况发送FCM通知 我的代码Php 状况不正常,php,mysql,mysqli,Php,Mysql,Mysqli,我正在尝试做一个函数,根据我的情况发送FCM通知 我的代码 $number = $_GET["number"]; $status = $_GET["status"]; $userIds = $_GET["userId"]; $sql = ""; for($i = 0; $i < count($number); $i++) { $sql .= "INSERT INTO number_status (number, number_status, user_id) VALUES ('$n
$number = $_GET["number"];
$status = $_GET["status"];
$userIds = $_GET["userId"];
$sql = "";
for($i = 0; $i < count($number); $i++) {
$sql .= "INSERT INTO number_status (number, number_status, user_id) VALUES ('$number[$i]', $status[$i], $userIds[$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]'AND t2.user_id = $userIds[$i]";
$resultSelect = $conn->query($sqlSelect);
if($resultSelect) {
while($row = $resultSelect->fetch_row()) {
if($row[2] == 1) {
sendFCM(array("title" => $row[0] . " is Online", "body" => "",'priority'=>'high'), array("message" => ""), $row[1]);
}
else if($row[2] == 0) {
sendFCM(array("title" => $row[0] . " is offline", "body" => "",'priority'=>'high'), array("message" => ""), $row[1]);
}
}
}
}
}
$number=$\u GET[“number”];
$status=$_GET[“status”];
$userId=$\u GET[“userId”];
$sql=“”;
对于($i=0;$iquery($sqlSelect);
如果($resultSelect){
而($row=$resultSelect->fetch_row()){
如果($row[2]==1){
sendFCM(数组(“title”=>$row[0]”处于联机状态、“body”=>“”、“priority”=>“high”)、数组(“message”=>“”、$row[1]);
}
else if($row[2]==0){
sendFCM(数组(“title”=>$row[0]”处于脱机状态、“body”=>“”、“priority”=>“high”)、数组(“message”=>“”)、$row[1]);
}
}
}
}
}
如果状态为1,我想发送联机通知,如果状态为0,我想说是脱机通知,但它总是只为联机发送通知。for($I=0;$I$sqlSelect = "SELECT t2.name, t1.fcm, t1.fcm_enabled, t2.status FROM user AS t1 INNER JOIN number_list AS t2 ON t1.id = t2.user_id WHERE t2.number = '$number[$i]'AND t2.user_id = $userIds[$i]";
$resultSelect = $conn->query($sqlSelect);
if($resultSelect) {
while($row = $resultSelect->fetch_assoc()) {
switch($row['status']){
case 0 :
sendFCM(array("title" => $row['name'] . " is offline", "body" => "",'priority'=>'high'), array("message" => ""), $row['fcm']);
break;
case 1 :
sendFCM(array("title" => $row['name'] . " is Online", "body" => "",'priority'=>'high'), array("message" => ""), $row['fcm']);
break;
}
}
}
$sql.=“插入数字状态(数字、数字状态、用户id)值(“$number[$i]”、$status[$i]、$userIds[$i]);”;
$sqlSelect=“选择t2.name、t1.fcm、t1.fcm_作为t1内部连接编号从用户启用,列表为t2 ON t1.id=t2.user_id,其中t2.number='$number[$i]'和t2.user_id=$userid[$i]”;
$resultSelect=$conn->query($sqlSelect);
如果($resultSelect){
而($row=$resultSelect->fetch_row()){
交换机($status[$i]){
案例0:
sendFCM(数组(“title”=>$row[0]”处于脱机状态、“body”=>“”、“priority”=>“high”)、数组(“message”=>“”)、$row[1]);
打破
案例1:
sendFCM(数组(“title”=>$row[0]”处于联机状态、“body”=>“”、“priority”=>“high”)、数组(“message”=>“”、$row[1]);
打破
}
}
}
}
是
状态
列名称在用户表或编号列表表中?@状态列在编号列表表中。谢谢我已经更新了答案,请检查一下,我不知道您的用户表中有哪些列可用,以及您正在使用哪个列来执行sendFCM
功能。检查它,如果列名错误。。更新你的列名。嗨!它仍然停留在第一状态。谢谢你确定数字列表表中的状态栏吗?我想状态栏不在数字列表表中,我正在添加另一个答案,试试看
for($i = 0; $i < count($number); $i++) {
$sql .= "INSERT INTO number_status (number, number_status, user_id) VALUES ('$number[$i]', $status[$i], $userIds[$i]);";
$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]'AND t2.user_id = $userIds[$i]";
$resultSelect = $conn->query($sqlSelect);
if($resultSelect) {
while($row = $resultSelect->fetch_row()) {
switch($status[$i]){
case 0 :
sendFCM(array("title" => $row[0] . " is offline", "body" => "",'priority'=>'high'), array("message" => ""), $row[1]);
break;
case 1 :
sendFCM(array("title" => $row[0] . " is Online", "body" => "",'priority'=>'high'), array("message" => ""), $row[1]);
break;
}
}
}
}