Я пытаюсь отправить sms всем членам в таблице mysql с использованием API.присвоение результата mysql массиву переменной php
Я могу отправить sms.
Но используется только первая строка в таблице, тогда как я хочу, чтобы sms был отправлен на все записи в таблице.
код я использую, как это:
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$result = mysql_query("SELECT name,mobile FROM members");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);
$mobile=$row[1];
$name=$row[0];
$request = "";
$param['mobileno'] = "91". $mobile;
$param['message'] = "Dear $name (organisation name) wishes you a very very Happy Birthday";
$param['username'] = "username";
$param['password'] = "password";
$param['sendername'] = "sender";
foreach ($param as $key => $val){$request .= $key . "=" . urlencode($val);
$request .= "&";}$request = substr($request, 0, strlen($request) - 1);
$url = "http://smsapi" . $request;
$ch = curl_init($url);curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
var_dump($result);exit;
curl_close($ch);
Я изменил код в соответствии с предложениями в ответах, но я все еще получаю результат для только первой строки.
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$result = mysql_query("SELECT name,mobile FROM members");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
while($row = mysql_fetch_row($result)) {
$mobile=$row[1];
$name=$row[0];
$request = "";
$param['mobileno'] = "91". $mobile;
$param['message'] = "Dear $name (organisation name) wishes you a very very Happy Birthday";
$param['username'] = "username";
$param['password'] = "password";
$param['sendername'] = "sender";
foreach ($param as $key => $val){$request .= $key . "=" . urlencode($val);
$request .= "&";}$request = substr($request, 0, strlen($request) - 1);
$url = "http://smsapi" . $request;
$ch = curl_init($url);curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
var_dump($result);exit;
curl_close($ch);
}
Я изменил код, как указано выше, но я все еще получаю результат только для первой строки. – Joshi
На самом деле код работает нормально. Я думаю, что var_dump ($ result); exit; показывал только один ряд результатов, что давало мне впечатление, что код не перебирает все строки. Благодарю. – Joshi