2016-08-09 3 views
1

Пользователь вводит два периода дат в текстовое поле и сообщение для отправки. Я получаю значения как $ 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; 
} 
+0

Start, не переписывая номера вы получите из базы данных '$ номер мобильного телефона = $ строк ['msisdn']; 'должно быть' $ mobilenumber [] = $ row ['msisdn']; 'Теперь у вас будет массив не только ОДИН НОМЕР – RiggsFolly

+0

Или, если вы когда-либо получаете только один результат, удалите цикл while – RiggsFolly

ответ

0

как @RiggsFolly сказал, что в настоящее время вы переписываете числа, поступающие из базы данных. добавить их, как он говорит, то, если вы хотите его только одной переменной, как разделенный запятыми, вы можете использовать implode

$mob_numbers = implode(", " , $mobilenumbers); 
+0

Thank вы, работали безупречно. –

+0

@ user6664057 Рад помочь –

Смежные вопросы