
用where就可以,例如:
<?php$startTime = strtotime("2013-10-01 10:10:10")//时间字符串转时间戳
$endTime = strtotime("2013-12-01 10:10:10")
//table为表名,creatTime为创建时间
$sql = "select * from table where creatTime>=$startTime and creatTime<=$endTime"
?>
一般有两种访问:方法一:
$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等等。
private function makeRankSql($order = "") {if (empty ( $order )) {
return $order
}
switch ($order) {
case "week" :
// 一周前
$begin = date ( "Y-m-d", mktime ( 0, 0, 0, date ( "m" ), date ( "d" ) - 7, date ( "Y" ) ) )
break
case "month" :
// 一个月前
$begin = date ( "Y-m-d", mktime ( 0, 0, 0, date ( "m" ) - 1, date ( "d" ), date ( "Y" ) ) )
break
default :
$begin = date ( "Y-m-d" )
break
}
$end = date ( "Y-m-d" )
return " and " . $this->daysAsSql ( $begin, $end, "DownloadLog.add_time" )
}
private function daysAsSql($begin, $end, $fieldName, $userOffset = null) {
App::uses ( "CakeTime", "Utility" )
$begin = CakeTime::fromString ( $begin, $userOffset )
$end = CakeTime::fromString ( $end, $userOffset )
$begin = date ( 'Y-m-d', $begin ) . ' 00:00:00'
$end = date ( 'Y-m-d', $end ) . ' 23:59:59'
$begin = strtotime ( $begin )
$end = strtotime ( $end )
return " ($fieldName >= '$begin') AND ($fieldName <= '$end') "
}
makeRankSql ( “week”)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)