用户在文本框和要发送的消息上输入两个日期时间段。我分别得到$ time1和$ time2和$ message的值。我在select语句中使用$ time1和$ time2,它应该在两次之间读取数据库中的移动号码。这些是接收消息的号码。如何以逗号分隔的数组传递变量?
问题,如何将这些数字保存到一个变量中,假设他们是十个数字,我应该将这些数字传递给Web服务以接收消息。这些数字还需要用逗号分隔以区分它们。为了分离,我认为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;
}
开始由于不覆盖你从数据库中'$移动电话号码= $行获得的数字['msisdn'];'应该是'$ mobilenumber [] = $ row ['msisdn'];'现在你将有一个数组,不只是一个数字 – RiggsFolly
或者如果你只得到一个结果,删除while循环 – RiggsFolly