API를 사용하여 mysql 테이블의 모든 멤버에게 SMS를 보내려고합니다.PHP 변수에 mysql 배열 결과를 할당
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