2013-08-20 31 views
0

我試圖發送短信給多個收件人我試圖實現這個代碼是這樣的: 我面臨的問題是消息正在交付到

僅在表中的第一條記錄。需要一些幫助,有什麼&我要去的地方錯了?

$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); 
} 

回答

0

你要堅持到Joomla編碼標準。使用mysql_*功能,因爲他們不要去已過時並構成安全威脅。

$db = JFactory::getDbo();  
$query = $db->getQuery(true);  
$query->select('*') 
->from('members');  
$db->setQuery($query);  
$rows = $db->loadObjectList(); 

while($rows){ 
    foreach ($rows as $row) { 
     $mobile = $row->mobile; 
     $name = $row->name; 
    } 

    //rest of code 
} 
+0

請問請詳細說明如何將loadresult()分配給$ mobile或$ name變量,並再次確認loadResult()是否適用於loadObjectList() – Joshi

+0

@Pawan - 嘗試更新後的代碼。請注意,這是未經測試 – Lodder

+0

對不起,它不工作。但是,如果我加入var_dump($ rows); exit; loadOjectList()後我得到正確的數組轉儲。所以我認爲之後的代碼需要一些改變。 – Joshi