一般有兩種訪問:

目前成都創(chuàng)新互聯(lián)已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計、柳城網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
方法一:
$sql="INSERT INTO `test` (`id`,`content`,`datetime`)values(NULL,'hello',now())";
$query=mysql_query($sql); //執(zhí)行sql語句
//這種方法,你datetime字段要設(shè)計成date類型,now() 是mysql數(shù)據(jù)庫提供的一個獲取當(dāng)前時間函數(shù)
方法二:
$sql="INSERT INTO `test` (`id`,`content`,`datetime`)values(NULL,'hello',".time().")";
$query=mysql_query($sql); //執(zhí)行sql語句
//這種方法:datetime字段設(shè)計成int(10)類型。time()是php提供獲取時間戳的函數(shù)。
推薦使用方法二,因為這種方式,一.排序速度快,二.方便轉(zhuǎn)換時間區(qū)。主流的開源程序都有采用這方式。像discuz phpwind dedecms等等。
這個時候可以給表建立一個日期字段取名:time吧,類型為text類型,保存數(shù)據(jù)格式為:日期1_日期2_日期3_日期4等等,調(diào)用的時候用explode函數(shù)對“_符號”進(jìn)行分割就行了,可以按照我這個思路嘗試
?php
$i = 0;
$time = date("m-d"); //取得當(dāng)前月日
while($array = mysql_fetch_array($result))
{
$birthday = date("m-d",strtotime($array['birthday'])); //取得數(shù)據(jù)庫月日
if ($time == $birthday)
{
echo "今天生日";
$i++;
}
}
if ($i == 0) //判斷今天是否有人過生日,沒有則輸出
{
echo "今天沒有人過生日";
}
?
比如 數(shù)據(jù)庫中查出來的是2016-5-6 10:01:28 可以 通過strtotime()轉(zhuǎn)化為時間戳,然后再跟今天的開始時間戳和結(jié)束時間戳相比較,如果在這個范圍內(nèi) 則是今天生日。
例如$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('數(shù)據(jù)庫主機(jī):端口', '用戶名', '密碼');
mysql_select_db('數(shù)據(jù)庫名稱', $link);
mysql_query('SET NAMES utf8', $link);
// 取出users列表
$result = mysql_query('SELECT * FROM `users`');
$data = array();
while ($row = mysql_fetch_assoc($result))
{
$data[] = $row;
}
/**
* 自定義函數(shù),驗證生日是否提醒,只適用于新歷,農(nóng)歷不適用 .
*
* @param string $birthday 出生日期
* @param int $reminder 提醒天數(shù),未來$reminder天內(nèi)生日提醒
* @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等數(shù)據(jù)庫的年份數(shù)據(jù)吧。不知道我的回答,對你有幫助不。
標(biāo)題名稱:php數(shù)據(jù)庫添加生日,php添加數(shù)據(jù)到數(shù)據(jù)庫沒有反應(yīng)
本文URL:http://chinadenli.net/article24/dsgjpce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站營銷、外貿(mào)建站、App開發(fā)、做網(wǎng)站、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)