I have the following php script that query a mysql database in order to send a message. I want to send the "message" variable in loops every 1000 rows of the database table. Below is the code, can someone find the error? The php script itself does not produce any errors, however, it does not send the message every 1000 rows. Instead it executes completely over all rows of the database table resulting to messaging error from GCM.
<?php
session_start();
include_once 'connect.php';
function send_notification($con,$registatoin_ids, $message) {
$url = 'https://android.googleapis.com/gcm/send';
// prep the bundle
$msg = array
(
'message' => "message",
'title' => 'title',
'subtitle' => 'subtitle. subtitle',
'msgcnt' => 3,
'vibrate' => 1,
'sound' => 'default',
'soundname' => 'beep.wav',
'largeIcon' => 'large_icon',
'smallIcon' => 'small_icon'
);
$fields = array
(
'registration_ids' => $registatoin_ids,
'data' => $msg
);
$headers = array(
'Authorization: key=' . apiKey,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
$result = curl_exec($ch);
if ($result === FALSE) {
die('Curl failed: ' . curl_error($ch));
}
curl_close($ch);
echo $result;
}
if(isset($_SESSION['login_user'])){
if(isset($_POST["submit"]) && isset($_POST["message"])) {
$num=$con->query("SELECT gcm_regid from gcm_users")->rowCount();
$current_num=0;
$message=$_POST["message"];
for($i=0;$i<$num/999;$i++){
$query=$con->query("SELECT gcm_regid from gcm_users LIMIT
$current_num,999");
foreach($query as $data) {
$row[]=$data["gcm_regid"];
}
$pushStatus = send_notification($con,$row, $message);
$current_num+=999;
}
}else if(isset($_POST["logout"])){
if(session_destroy()) // Destroying All Sessions
{
header("Location: login.php"); // Redirecting To Home Page
}
}
?>
Aucun commentaire:
Enregistrer un commentaire