2016-06-12 6 views
0

私はmysqlデータベースからデータをフェッチしてsmsを送信するアプリケーションを開発しています。私は、cronジョブサービスを使用してデータを取得し、5分ごとにsmsを送信するPHPスクリプトを実行することに決めました。PHP mysql select文を繰り返しなしで

私の問題は、以前選択したレコードを選択しないようにselect文を設定する方法を理解できないことです。前回の実行以降に新しくなったものだけが選択され、データが送信されます。親切に、いずれかが私にしてくださいつながる ...

//fetches fresh records 
$sql = "SELECT name,amount, trans_id, msisdn, time_paid FROM customer "; 


$result1 = mysqli_query($conn, $sql); 
$resultarr = mysqli_fetch_assoc($result1); // fetch data from db 

     get the variables from array 
    $name = $resultarr['name']; 
    $amount = $resultarr['amount']; 
    $transaction_id = $resultarr['trans_id']; 
    $date = $resultarr['time_paid']; 

    // message template to be sent 
    $message = "Dear $name we have received $amount from you. MPESA transaction Id $transaction_id on $date."; 

     // requirements to send sms 
    $mobilenumber = $resultarr['msisdn']; // get mobile number from array 
    $message_sent = $message; 

    //passing them as service arguments 
    $serviceArguments = array(
      "mobilenumber" => $mobilenumber, 
      "message" => $message_sent 
    ); 

     //webservice to send sms 
    $client = new SoapClient("http://50.33.64.16:8080/smsengine/smsws?WSDL"); 

    $result = $client->process($serviceArguments); 

    return $result; 

答えて

2

一つの可能​​性のあるアイデアは、テーブル内のすべての処理されたレコードをダンプ(TBL2を言う)と、あなたがレコードをフェッチしようとして次回からのすべてのレコードを選択することができテーブルtbl2に存在しないプライマリテーブル。

SELECT t1.name 
FROM table1 t1 
LEFT JOIN table2 t2 ON t2.name = t1.name 
WHERE t2.name IS NULL 
関連する問題