一般有两种访问:
目前成都创新互联已为1000+的企业提供了网站建设、域名、雅安服务器托管、绵阳服务器托管、企业网站设计、柳城网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
方法一:
$sql="INSERT INTO `test` (`id`,`content`,`datetime`)values(NULL,'hello',now())";
$query=mysql_query($sql); //执行sql语句
//这种方法,你datetime字段要设计成date类型,now() 是mysql数据库提供的一个获取当前时间函数
方法二:
$sql="INSERT INTO `test` (`id`,`content`,`datetime`)values(NULL,'hello',".time().")";
$query=mysql_query($sql); //执行sql语句
//这种方法:datetime字段设计成int(10)类型。time()是php提供获取时间戳的函数。
推荐使用方法二,因为这种方式,一.排序速度快,二.方便转换时间区。主流的开源程序都有采用这方式。像discuz phpwind dedecms等等。
这个时候可以给表建立一个日期字段取名:time吧,类型为text类型,保存数据格式为:日期1_日期2_日期3_日期4等等,调用的时候用explode函数对“_符号”进行分割就行了,可以按照我这个思路尝试
?php
$i = 0;
$time = date("m-d"); //取得当前月日
while($array = mysql_fetch_array($result))
{
$birthday = date("m-d",strtotime($array['birthday'])); //取得数据库月日
if ($time == $birthday)
{
echo "今天生日";
$i++;
}
}
if ($i == 0) //判断今天是否有人过生日,没有则输出
{
echo "今天没有人过生日";
}
?
比如 数据库中查出来的是2016-5-6 10:01:28 可以 通过strtotime()转化为时间戳,然后再跟今天的开始时间戳和结束时间戳相比较,如果在这个范围内 则是今天生日。
例如$a = strtotime('2016-5-6 10:01:28');
$begin = strtotime(date('Y-m-d'));//今日凌晨;
$end = $begin + 86400;//明天凌晨;
if($a = $begin $a=$end){echo '今天生日';}
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
tdID/td
tdUserName/td
tdPassword/td
tdSex/td
tdBirthday/td
tdReminder/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分真不够意思
什么php下拉框,做生日,下拉框是用表单做。例如:
from
option2010/option
option2010/option
/form
保是利用php获取mysql等数据库的年份数据吧。不知道我的回答,对你有帮助不。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款