Пользователь вводит два периода дат в текстовое поле и сообщение для отправки. Я получаю значения как $ time1 и $ time2 и $ message соответственно. Я использую $ time1 и $ time2 в выражении select, который должен извлекать номера мобильных телефонов в базе данных между ними два раза. Это цифры для получения сообщения.Как передать переменную в виде массива, разделенного запятой?
Вопрос: как сохранить эти числа в одной переменной, предположив, что они были десятью числами, которые я должен передать веб-службе для получения сообщения. Числа также должны быть разделены запятой, чтобы различать их. Для разделения я думаю, что функция implode будет работать в массиве. Я новичок в PHP, поэтому кто-то помогает мне в этом. Спасибо.
$message =mysqli_real_escape_string($conn, $_POST['message']);
$time1 = mysqli_real_escape_string($conn, $t1);
$time2 = mysqli_real_escape_string($conn, $t2);
$sql = "SELECT DISTINCT msisdn FROM customer WHERE DATE_FORMAT(time_paid, '%Y-%c-%e') BETWEEN ADDDATE('$time1',INTERVAL 0 HOUR) AND ADDDATE('$time2',INTERVAL '23:59' HOUR_MINUTE)";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
//Output data of each row
while($row = $result->fetch_assoc())
{
$mobilenumber = $row['msisdn'];
}
}
else
{
echo "No data in the server! ";
}
$conn->close();
sendbulk($mobilenumber, $message);
function sendbulk($mobilenumber, $message)
{
$serviceArguments = array(
"mobilenumber" => $mobilenumber,
"message" => $message
);
$client = new SoapClient("http://*****:8080/WebSms/smswebservice?wsdl");
$result = $client->process($serviceArguments);
return $result;
}
Start, не переписывая номера вы получите из базы данных '$ номер мобильного телефона = $ строк ['msisdn']; 'должно быть' $ mobilenumber [] = $ row ['msisdn']; 'Теперь у вас будет массив не только ОДИН НОМЕР – RiggsFolly
Или, если вы когда-либо получаете только один результат, удалите цикл while – RiggsFolly