【问题标题】:php mysql select statement without repetitionphp mysql select语句不重复
【发布时间】:2016-06-12 14:56:25
【问题描述】:

我正在开发一个应用程序,它应该从 mysql 数据库中获取数据以发送短信。我决定使用 cron 作业服务来运行一个 php 脚本来获取数据并在每 5 分钟后发送一次短信。

我的问题是我只是想不出一种方法来设置选择语句以不选择之前选择的记录。仅选择自上次运行以来的最新数据并发送数据。 拜托,请任何人带我...

  //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;

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    一个可能的想法是将所有已处理的记录转储到一个表(比如 tbl2)中,下次当您要获取记录时,从主表中选择表 tbl2 中不存在的所有记录。

    SELECT t1.name
    FROM table1 t1
    LEFT JOIN table2 t2 ON t2.name = t1.name
    WHERE t2.name IS NULL
    

    【讨论】:

      猜你喜欢
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-07
      • 2017-10-19
      • 2011-02-16
      • 1970-01-01
      相关资源
      最近更新 更多