ホームページ  >  記事  >  バックエンド開発  >  SMS モバイル メッセージング インターフェイスの二次開発に複数行のレコード操作を挿入する (リアルタイムの進行状況表示_PHP チュートリアルを含む)

SMS モバイル メッセージング インターフェイスの二次開発に複数行のレコード操作を挿入する (リアルタイムの進行状況表示_PHP チュートリアルを含む)

WBOY
WBOYオリジナル
2016-07-13 17:38:00867ブラウズ

本来、この CP は単一送信の SMS インターフェイスです。さまざまな理由により、メッセージを編集するたびに、Web サイトのすべてのメンバー (数万人のメンバー) に一斉送信を実装する必要があります。このプログラムの難しさは、MYSQL から MSSQL への異なるデータベース サーバー間で数千行のレコードを送信し、リアルタイムで進行状況を表示し、送信後に結果についてフィードバックを提供することです。

テキストメッセージの送信プロセス中に次の要件があります:

1) プログラムのタイムアウトは許可されません; 2) 携帯電話番号の有効性を自動的に検出します; 3) 送信の進捗率を計算します。

4) SQL ステートメントをオーバーロードすることなく、MYSQL から MSSQL までの異なるデータベース サーバー間で数千行のレコードを挿入および更新できます。

解決策を簡単に説明します:

JQ で AJAX スクリプトを使用して、SMS レコードを送信するためのアプリケーションを送信します。プログラムはアプリケーション レコードを読み取り、SESSION を使用して進行状況データを記録し、メッセージの数に基づいてレコード内の未送信の SMS の携帯電話番号を返します。プログラムを送信する前に携帯電話番号を追加してください。 AJAX は最初に返されたレコード データを受信し、携帯電話番号を再帰関数に送信し、その後、進行状況が 100% に達するまで関数内の残りの携帯電話番号を繰り返し送信します。

よく分かりませんが、明確に説明していません。 参照コードは次のとおりです。

function send_onesms(s,p,sendid){ //これは最初の AJAX 送信です

if (sendid==){

$.prompt(送信するテキスト メッセージをまだ選択していませんか?,{buttons:{OK:true}}); false を返します;
}
var totel = ;
$(#loading).show();
$.ajax({
タイムアウト: 36000、
入力: 「GET」
URL: "/admincp/page.php",
データ: "showtype=2&page="+p+&sendid=+sendid,
beforeSend: function(){
$.ajax({async:true,url: "/admincp/jindu.php?act=clear&rnd="+new Date().getTime(), success: function(response){$("#jindu").html (応答);}、データ型: "html"});
$(a.sendclass).html(ロック状態).removeAttr("onclick");
$(#sid+sendid).html(送信中...).removeAttr("onclick");
}、
成功: function(msg){
$(#i2page).val=p;
//$(#smslist).html(unescape(msg));
//$(#loading).hide();
if (msg!=over){
totel = msg;
// setInterval(function() { $.ajax({async:true,url: "/admincp/jindu.php?rnd="+new Date().getTime(), success: function(response){$(" #jindu").html(response);}, dataType: "html"}) },1000);
}

}
});
Send_sms(s,p,sendid,totel);
//window.clearInterval(スレッド); }

function send_sms(s,p,sendid,totel){ //再帰関数
$.ajax({
タイムアウト: 36000、

データ型: "html",

入力: 「POST」
URL: "/admincp/page.php?rnd="+new Date().getTime(),
データ: "showtype=2&page="+p+&sendid=+sendid+&totel=+totel,
成功: 関数(応答){
If (応答!=終了){
$.ajax({async:true,url: "/admincp/jindu.php?rnd="+new Date().getTime(), success: function(response){$("#jindu").html(response );}、データタイプ: "html"});
setTimeout(send_sms(s,p,sendid,response),1000);
}その他{
$.ajax({async:true,url: "/admincp/jindu.php?act=over&rnd="+new Date().getTime(), 成功: function(response){alert(response);}, dataType: "html"});
$(#loading).hide();
menu_sec2_move(p);
}
}

});

}


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/486523.html技術記事当初、この CP は単一送信の SMS インターフェイスでしたが、さまざまな理由により、メッセージが編集されるたびに、Web サイトのすべてのメンバー (数万のメンバー レコード) がグループに送信されるようにする必要がありました。 . プログラムの難しさは、MYSQ からメッセージを取得することでした...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。