2016-08-09 44 views
1

Ein Benutzer gibt zwei Datumsperioden in ein Textfeld ein und eine Nachricht, die gesendet werden soll. Ich bekomme die Werte als $ time1 und $ time2 bzw. $ message. Ich benutze $ time1 und $ time2 in einer Select-Anweisung, die die Handynummern in der Datenbank zwischen den beiden Zeiten abrufen soll. Dies sind die Nummern, um die Nachricht zu erhalten.Wie übergebe ich eine Variable als Array durch Komma getrennt?

Frage, wie speichere ich diese Zahlen in einer Variablen unter der Annahme, dass sie zehn Nummern waren, die ich an einen Webdienst übergeben sollte, um die Nachricht zu empfangen. Die Zahlen müssen auch durch ein Komma getrennt sein, um sie zu unterscheiden. Für die Trennung würde ich glaube, dass die Implodierungsfunktion in einem Array funktionieren würde. Ich bin neu in PHP, also hilft mir jemand, dies zu erreichen. Vielen Dank.

$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

Starten von nicht zu überschreiben sie die Zahlen aus der Datenbank erhalten nutzen könnten '$ Handynummer = $ row ['msisdn']; 'sollte' $ handynummer [] = $ row ['msisdn'] sein; 'Jetzt haben Sie ein Array nicht nur EINE NUMMER – RiggsFolly

+0

Oder wenn Sie nur ein Ergebnis erhalten, entfernen Sie die while-Schleife – RiggsFolly

Antwort

0

wie @RiggsFolly sagte, derzeit überschreiben Sie die Zahlen aus der Datenbank. fügen Sie sie, wie er sagte, dann, wenn Sie es wollen in nur eine Variable als kommagetrennte, Sie implode

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

Vielen Dank Du hast einwandfrei gearbeitet. –

+0

@ user6664057 Froh, zu helfen –