2015-07-28 137 views
0

我想做一個簡單的提醒,噹噹前日期和時間與數據庫中的某個條目匹配而不刷新頁面時,它會顯示一些內容。將當前日期時間與數據庫中的日期時間進行比較,無需刷新頁面

我在我的數據庫中的兩個條目在一個名爲date表:

  • date(店提醒日期),它的類型是DATE
  • time(店提醒時間),其類型爲TIME

頁面reminder.php獲取存儲在數據庫中的日期和時間並將其轉換爲Timestamp

本頁面也使用strtotime("now")將當前日期和時間轉換爲Timestamp

它通過每秒不斷刷新頁面來顯示兩個值匹配的日期和時間。

我想比較這兩個值而不刷新reminder.php頁面。

reminder.php

<?php 
require_once 'php/database.php'; 
date_default_timezone_set('Asia/Kolkata'); 
$current = strtotime('now'); 
$stmt = $db->query("SELECT * FROM date"); 
$row = $stmt->fetchall(PDO::FETCH_ASSOC); 
foreach ($row as $key) { 
    $dateTime = $key['date'] . $key['time']; 
    $dateTime = strtotime($dateTime); 

} 

if ($dateTime == $current) { 
    echo "both date and time are same"; 
} 
else { 

    echo "both date and time are not same"; 

} 
+2

從頁面返回一次數據並將其插入到你的頁面JS中,讓JS做檢查。如果你真的想,最多幾分鐘從數據庫刷新一次(以捕捉表中的新項目)。您可以使用ajax來即時從頁面中獲取數據。 – Fluffeh

回答

0

如果我理解正確,那麼你需要檢查從數據庫和當前日期的日期而無需刷新頁面使用此代碼, HTML部分:

<button id="data_pass" name="btn" >BUTTON</button> 

JQuERy:

$(document).ready(function() { 
$("#data_pass").click(function() { 
var today = new Date(); 
var dd = today.getDate(); 
var mm = today.getMonth()+1; //January is 0! 
var yyyy = today.getFullYear(); 

if(dd<10) { 
    dd='0'+dd 
} 

if(mm<10) { 
    mm='0'+mm 
} 

today = yyyy+'-'+mm+'-'+dd; 

$.ajax({ 
url : 'test.php', 
type : 'post', 
data : {"today":today}, 
success : function(data) { 
    alert(data);           
}, 
error : function(data) { 
    alert("error"); 
} 


}); 

}); 
}); 

PHP部分:

include('db_con.php'); 

    class date_check extends db_connection { 
    function dates() { 
    $con = $this->db_con(); 
    $sel = $con->prepare("select * from dates"); 
    $exe = $sel->execute(); 
    $dates = $_POST['today']; 
    foreach ($sel as $select) { 
     if ($select['date_i'] == $dates) { 
      echo "Happy BirthDay"; 
     } 
    } 
} 


} 

$obj = new date_check; 
$obj->dates(); 

它只是用於檢查日期。 希望它會幫助你

+0

謝謝,但我想檢查日期和時間..! –

+0

您指的是當前日期和時間,即2015/07/29 10:10:00 –

相關問題