簡體   English   中英

防止一遍又一遍地從php mysql數據庫中選擇相同的數據

[英]Preventing selecting the same data over and over again from a php mysql database

我下面的代碼應從db中選擇數據,然后使用變量發送SMS。 我正在使用cron作業來執行腳本。 問題在於,當cron運行時,它還會選擇已處理的數據。 請有人指導我如何防止選擇已經處理過的數據。

    //should select the fresh or new data after the first run
    $sql = "SELECT name, amount, trans_id, msisdn, time_paid FROM customer";


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


            $name = $resultarr['name'];
            $amount = $resultarr['amount'];
            $transaction_id = $resultarr['trans_id'];
            $date = $resultarr['time_paid'];

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

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

            $serviceArguments = array(
                            "mobilenumber" => $mobilenumber,
                            "message" => $message_sent
            );

            $client = new SoapClient("http://32.138.160.130:8080/smsengine/smsws?WSDL"); 

添加新的短信狀態列。 像sms_sent一樣,此列的默認值為0,當成功發送sms時,將sms_sent值0更改為1。然后sql查詢為:$ sql =“從客戶那里選擇名稱,金額,trans_id,msisdn,time_paid,smss_sent = 0“;


    //should select the fresh or new data after the first run
    $sql = "SELECT id, name, amount, trans_id, msisdn, time_paid FROM customer";


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


            $name = $resultarr['name'];
            $amount = $resultarr['amount'];
            $transaction_id = $resultarr['trans_id'];
            $date = $resultarr['time_paid'];

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

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

            $serviceArguments = array(
                            "mobilenumber" => $mobilenumber,
                            "message" => $message_sent
            );

            $client = new SoapClient("http://32.138.160.130:8080/smsengine/smsws?WSDL"); 
$sq = "UPDATE customer SET notification = 1 WHERE id = $resultarr['id']";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM