1

使用循环发送多条短信存在问题,无法正常工作..

代码是:

 while ($row = mysql_fetch_array($result)) {

        $dealer_name = $row['dealer_name'];
        $dealer_contact_no = $row['contact_no'];

        $date = new DateTime($row['date']);
        $date = $date->format('d-M-y');
        $due_date = new DateTime($row['due_date']);
        $due_date = $due_date->format('d-M-y');

        //////////////////sms body 
        $msg = '';
        $msg .= 'Bill Payable-' . "%0A";
        $msg .= 'Bill No:' . $row['ref_no'] . "%0A";
        $msg .= 'Date:' . $date . "%0A";
        $msg .= 'Total Amt:' . $row['total_amount'] . "%0A";
        $msg .= 'Pending Amt:' . $row['pending_amount'] . "%0A";
        $msg .= 'Due Date:' . $due_date . "%0A";
        $msg .= 'Days:' . $row['days'] . "%0A";
        $msg .= '-' . $sender_name;

        $username = "*********";
        $password = "*********";
        $text = $msg;
        $phones = $dealer_contact_no;

        if (strlen($phones) == 10) {
       $url = 'http://bulksms.mysmsmantra.com:8080/WebSMS/SMSAPI.jsp?username=' . $username . '&password=' . $password . '&sendername=NETSMS&mobileno=' . $phones . '&message=' . $text;

        $ch = curl_init(); 
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
        $output = curl_exec($ch);
        curl_close($ch);
        }
    }

如何一次又一次地执行 url 以发送多条 SMS.. 请帮助.. 早些时候我使用 header() 函数,但它仅适用于获取单行..

4

1 回答 1

0

代码看起来不错。只需检查 create 函数以从 while 中挑选一段代码并调用它。

函数如:

//This function used to send SMS 
function sendSMS($username, $password, $phones, $text){

   $url = 'http://bulksms.mysmsmantra.com:8080/WebSMS/SMSAPI.jsp?username=' . $username . '&password=' . $password . '&sendername=NETSMS&mobileno=' . $phones . '&message=' . $text;

    $ch = curl_init(); 
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    $output = curl_exec($ch);
    curl_close($ch);
}

并从 while 中删除相同的代码并调用此函数。

循环就像:

while ($row = mysql_fetch_array($result)) {

    $dealer_name = $row['dealer_name'];
    $dealer_contact_no = $row['contact_no'];

    $date = new DateTime($row['date']);
    $date = $date->format('d-M-y');
    $due_date = new DateTime($row['due_date']);
    $due_date = $due_date->format('d-M-y');

    //////////////////sms body 
    $msg = '';//Variable initialize with blank...
    $msg .= 'Bill Payable-' . "%0A";
    $msg .= 'Bill No:' . $row['ref_no'] . "%0A";
    $msg .= 'Date:' . $date . "%0A";
    $msg .= 'Total Amt:' . $row['total_amount'] . "%0A";
    $msg .= 'Pending Amt:' . $row['pending_amount'] . "%0A";
    $msg .= 'Due Date:' . $due_date . "%0A";
    $msg .= 'Days:' . $row['days'] . "%0A";
    $msg .= '-' . $sender_name;

    $username = "abc";
    $password = "1922345418";
    $text = $msg;
    $phones = $dealer_contact_no;

    //If Phone number length equals 10 then call send SMS functionality...
    if (strlen($phones) == 10) {
        //Send SMS function calling...
        sendSMS($username, $password, $phones, $text);
    }
}

如果有任何问题/疑问,请告诉我。

于 2015-11-07T05:58:10.160 回答