php实现新历生日提醒功能代码

涛哥 PHP代码

下是PHP实现新历生日提醒功能的代码:

  1. 连接数据库
$host = 'localhost'; // 数据库主机名
$user = 'root'; // 数据库用户名
$password = 'password'; // 数据库密码
$database = 'database_name'; // 数据库名
$conn = mysqli_connect($host, $user, $password, $database);
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}
  1. 查询生日
$today = date('m-d'); // 获取今天的日期
$sql = "SELECT * FROM `user` WHERE DATE_FORMAT(birthday, '%m-%d') = '$today'"; // 查询今天生日的用户
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
    // 如果有生日的用户,进行提醒
    while($row = mysqli_fetch_assoc($result)) {
        $name = $row['name'];
        $birthday = date('Y') . '-' . date('m-d', strtotime($row['birthday']));
        echo "今天是 $name 的生日,TA 的生日日期是 $birthday!<br>";
    }
}
  1. 关闭数据库连接
mysqli_close($conn);

完整代码如下:

$host = 'localhost'; // 数据库主机名
$user = 'root'; // 数据库用户名
$password = 'password'; // 数据库密码
$database = 'database_name'; // 数据库名
$conn = mysqli_connect($host, $user, $password, $database);
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}
$today = date('m-d'); // 获取今天的日期
$sql = "SELECT * FROM `user` WHERE DATE_FORMAT(birthday, '%m-%d') = '$today'"; // 查询今天生日的用户
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
    // 如果有生日的用户,进行提醒
    while($row = mysqli_fetch_assoc($result)) {
        $name = $row['name'];
        $birthday = date('Y') . '-' . date('m-d', strtotime($row['birthday']));
        echo "今天是 $name 的生日,TA 的生日日期是 $birthday!<br>";
    }
}
mysqli_close($conn);
  1. 定时运行:为了实现每天自动提醒生日,我们可以使用Linux中的cron定时任务。具体操作为:
  • 使用命令crontab -e编辑当前用户的定时任务配置文件。
  • 添加一行0 0 * * * /usr/bin/php /path/to/birthday_reminder.php,表示每天0点0分执行一次birthday_reminder.php脚本。
  • 保存修改并退出编辑模式。
  • 等待明天的0点,观察是否有生日提醒输出。
<?php
$host = 'localhost'; // 数据库主机名
$user = 'root'; // 数据库用户名
$password = 'password'; // 数据库密码
$database = 'database_name'; // 数据库名
$conn = mysqli_connect($host, $user, $password, $database);
if (!$conn) {
    die("连接失败: " . mysqli_connect_error());
}
$today = date('m-d'); // 获取今天的日期
$sql = "SELECT * FROM `user` WHERE DATE_FORMAT(birthday, '%m-%d') = '$today'"; // 查询今天生日的用户
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
    // 如果有生日的用户,进行提醒
    while($row = mysqli_fetch_assoc($result)) {
        $name = $row['name'];
        $birthday = date('Y') . '-' . date('m-d', strtotime($row['birthday']));
        echo "今天是 $name 的生日,TA 的生日日期是 $birthday!<br>";
    }
}
mysqli_close($conn);
?>

将以上代码保存为birthday_reminder.php,放在一个网站的根目录下,然后设置好数据库连接信息和cron定时任务即可实现每天自动提醒生日。