我想做一个简单的提醒,当当前日期和时间与数据库中的条目匹配时显示一些内容,而无需刷新页面。
我在我的数据库中有两个条目在一个名为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";
}
如果我理解对了,那么你需要从数据库和当前日期检查日期,而不刷新页面使用此代码,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();
这只是为了检查日期。希望对你有所帮助