2014-04-02 43 views
0

例如,我有以下數據PHP/jQuery的自動檢查數據,然後做插入

Name  Date 
Aplha 10/05/1988 
Bravo 10/04/1999 
Charlie 10/08/1990 

我試圖做一個自動校驗數據(數據庫),每分鐘, 並將其與比較當前在電腦上的日期,如果它相同,我可以插入消息像生日快樂。

有人可以提供這方面的參考或解決方案,將不勝感激。 它像通知,但在這種情況下,它會發送消息自動

編輯注 - NVM我得到it..updated腳本

我的js

$(function() 
{ 

setInterval(function() { 
    $.ajax({ 
     url: "dooBday.php", 
     success: function (data) { 
      $("#feedback").html(data); 
     } 
    }); 
}, 1000 * 60); 


}); 

我dooBday功能

$tgl=date("d/m"); 
$tglInt=date("d/m"); 
$tglInt=preg_replace('~\D~', '', $tglInt); 
$tglInt=intval($tglInt); 

// Database Object 
$tablename = "Phonebook_New"; 
$tablename2 = "USER_ID"; 
$xo=0; 
$xx=0; 
$VinDB = new VinDB(); 

// Get Data 
$query2 = "SELECT * FROM ".$tablename2." WHERE UserID='".getMultiUserID()."'"; 
$result2 = $VinDB->query($query2); 

if ($VinDB->num_rows($result2) != 0) 
{ 
    $line2 = $VinDB->fetch_array($result2); 

    if($line2["bdaySts"]==1 and strlen(trim($line2["bdayMsg"])) > 0){ 

    // Get Data-------------------------------- 
    $query = "SELECT * FROM ".$tablename." WHERE User_ID='".getMultiUserID()."' AND bdaySent='x'"; 
    $result = $VinDB->query($query); 

    if ($VinDB->num_rows($result) != 0) 
    { 
    while ($line = $VinDB->fetch_array($result)) 
    { 

     if(!empty($line["Ultah"])){ 

     $tglNew=substr($line["Ultah"], 0, -5); 
     if($tgl==$tglNew){ 

      $datex = date('Y/m/d'); 
      $timex = date('H:i:s'); 
      $schedule= date($datex . '-' . $timex); 

     //doo Update Contact Sent-------------------- 
     $sqlquery[$xo]="UPDATE ".$tablename." SET bdaySent='Sent' where User_ID='".getMultiUserID()."' and nomor='".$line["nomor"]."'"; 
     $xo++; 

     // doo Send Message---------------------------- 
      $inuquery[$xx] = "INSERT INTO Schedule "; 
      $inuquery[$xx] .= "(message,phone_number,Schedule,Status,User_ID) "; 
      $inuquery[$xx] .= "VALUES ('".$line2['bdayMsg']."','".$line['PhoneNumber']."','".$schedule."','Processing','"; 
      if (isset($_SESSION['user_id2'])) 
      { 
       $inuquery[$xx] .= $_SESSION['user_id2']."')"; 
      } else { 
       $inuquery[$xx] .= "Unknown')"; 
      } 
      $xx++; 

     }} 

    }//end while 

    }// end if 

    } 

}//end send bday 

for($i=0;$i<$xo;$i++){ 

    $result = $VinDB->query($sqlquery[$i]); 
    $result2 = $VinDB->query($inuquery[$i]); 
} 

回答

0

我想你想要用戶。如果我是對的。你可以這樣做。

把這個代碼的網頁上,你想檢查每分鐘

setInterval(function() { 
    $.ajax({ 
     url: "ajx.php", 
     success: function (data) { 
      $("#feedback").html(data); 
     } 
    }); 
}, 1000 * 60); 

,這將是你的ajax.php文件

<?php 
// Name  Date 
// Aplha 10/05/1988 
// Bravo 10/04/1999 
// Charlie 10/08/1990 

$alphaDob = '02/04/1988'; 
$exp = explode('/', $alphaDob); 

$userDate = $exp[0]; 
$userMonth = $exp[1]; 

$currentDate = date('Y-m-d'); 
$exp = explode('-', $currentDate); 

$currentDate = $exp[2]; 
$currentMonth = $exp[1]; 

if($currentMonth == $userMonth && $currentDate == $userDate) { 
    echo 'Happy Birthday'; 
} 

爲了獲得良好的性能使用Ajax的長輪詢功能,例如可以在這裏找到Long-Polling Example

+0

是讓希望的用戶,但我試圖做一個自動校驗數據,因此如果用戶加載頁面,並等待在當前頁面,腳本會運行像一個通知每1分鐘/ 2分鐘,但在這種情況下,將我所編輯的代碼自動發送消息 – Runshax

+0

,請檢查。 – zarpio

+0

thx..i'll檢查 – Runshax

相關問題