2016-06-12 6 views
0

나는 sms를 보내기 위해 mysql 데이터베이스에서 데이터를 가져와야하는 애플리케이션을 개발 중이다. 나는 cron 작업 서비스를 사용하여 PHP 스크립트를 실행하여 데이터를 가져오고 매 5 분마다 sms를 보내기로 결정했습니다.반복없이 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