CREATE TABLE `users` (
`id` mediumint(8) unsigned NOT NULL auto_increment,
`username` varchar(60) NOT NULL default '',
`password` varchar(32) NOT NULL default '',
`sex` tinyint(1) unsigned NOT NULL default '0',
`birthday` date NOT NULL default '0000-00-00',
PRIMARY KEY (`user_id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
index.php
<?php
// mysql连接
$link = mysql_connect('数据库主机:端口', '用户名', '密码');
mysql_select_db('数据库名称', $link);
mysql_query('SET NAMES utf8', $link);
// 取出users列表
$result = mysql_query('SELECT * FROM `users`');
$data = array();
while ($row = mysql_fetch_assoc($result))
{
$data[] = $row;
}
/**
* 自定义函数,验证生日是否提醒,只适用于新历,农历不适用 .
*
* @param string $birthday 出生日期
* @param int $reminder 提醒天数,未来$reminder天内生日提醒
* @return bool true为提醒 false为不提醒
*/
function birthdayReminder($birthday, $reminder = 7)
{
$preg = '/^(\d{4}|\d{2}|)[- ]?(\d{2})[- ]?(\d{2})$/';
$Ymd = array();
preg_match($preg, $birthday, $Ymd);
if (empty($Ymd))
{
return false;
}
var_dump($Ymd);
$birthday = $Ymd[2].'-'.$Ymd[3];
$time = time();
for ($i = 1; $i <= $reminder; $i++)
{
if (date('m-d', $time) == $birthday)
{
return true;
}
$time = $time + 24 * 3600;
}
return false;
}
// 显示users列表
$str = '<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>ID</td>
<td>UserName</td>
<td>Password</td>
<td>Sex</td>
<td>Birthday</td>
<td>Reminder</td>
</tr>';
foreach($data as $user)
{
$str .= '<tr>
<td>'.$user['id'].'</td>
<td>'.$user['username'].'</td>
<td>'.$user['password'].'</td>
<td>'.$user['sex'].'</td>
<td>'.$user['birthday'].'</td>
<td>';
if(birthdayReminder($user['birthday'])
{
$str .= '生日快到了';
}
else
{
$str .= '生日还遥遥无期呢';
}
$str .= '</td>
</tr>';
}
$str .= '</table>';
print $str;
?>
ps:我敲了一个多小时,不加到100分真不够意思
温馨提示:答案为网友推荐,仅供参考