按时间搜索数据的问题

snolidge 2003-06-05 12:50:23
我的时间是date("Y-m-d",time());格式
在MYSQL里的存储类型是date
现在要实现按
最近一天
最近三天
最近一周
最近两周
最近三周
最近一个月
最近三个月
最近半年
最近一年
搜索,请问怎样实现,我不会处理时间。

能给代码最好了
...全文
84 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
snolidge 2003-06-05
  • 打赏
  • 举报
回复
谢谢!!!!
lapmx 2003-06-05
  • 打赏
  • 举报
回复
<?php
echo strtotime ("now"), "\n";
echo strtotime ("10 September 2000"), "\n";
echo strtotime ("+1 day"), "\n";
echo strtotime ("+1 week"), "\n";
echo strtotime ("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime ("next Thursday"), "\n";
echo strtotime ("last Monday"), "\n";
?>
snolidge 2003-06-05
  • 打赏
  • 举报
回复
我试试
fishwork 2003-06-05
  • 打赏
  • 举报
回复
function showdate($overnum,$varname,$postvar){
echo "<select name='".$varname."'>";
for($w=1;$w<=$overnum;$w++){
if(strlen($w)==1){
$z="0".$w;
}else{
$z=$w;
}
echo "<option value='".$z."'";
$z=intval($z);
if(intval($postvar)==$z){
echo " selected";
}
echo ">".$w."</option>";
}
echo "</select>";
}

//列出今后三天的记录
if(empty($_POST['showorder'])){
$starttime=date("Y-m-d H:i:s");
list($expyear,$expmonth,$expday)=explode("-",date("Y-m-d"));
list($exphour,$expminute,$expsec)=explode(":",date("H:i:s"));
$tmptime=mktime($exphour,$expminute,$expsec,$expmonth,$expday,$expyear);
$tmptime=strtotime("+3days",$tmptime);
$anontime=date("Y-m-d H:i:s",$tmptime);
list($expyear1,$expmonth1,$expday1)=explode("-",$anontime);
}

if(isset($_POST['showorder'])){
$starttime=date("Y")."-".$_POST['frommonth']."-".$_POST['fromday']." ".$_POST['fromhour'].":00:00";
$anontime=date("Y")."-".$_POST['tomonth']."-".$_POST['today']." ".$_POST['tohour'].":00:00";
if($starttime>$anontime){
$anontime=(date("Y")+1)."-".$_POST['tomonth']."-".$_POST['today']." ".$_POST['tohour'].":00:00";
}
}

$sql="select * from tablename where 时间字段>'".$starttime."' and 时间字段<'".$anontime."' order by 时间字段";
$result=mysql_query($sql);

echo "<table border=0 cellpadding=2 cellspacing=1 width=100%>";
echo "<form method=post action='".$_SERVER['PHP_SELF']."'>";
echo "<tr bgcolor=ceafce align=middle><td colspan=5>";
echo "从";
if(isset($_POST['showorder'])){
showdate(12,"frommonth",$_POST['frommonth']);
}else{
showdate(12,"frommonth",$expmonth);
}
echo "月";
if(isset($_POST['showorder'])){
showdate(31,"fromday",$_POST['fromday']);
}else{
showdate(31,"fromday",$expday);
}
echo "日";
if(isset($_POST['showorder'])){
showdate(23,"fromhour",$_POST['fromhour']);
}else{
showdate(23,"fromhour",$exphour);
}
echo "时   至";
if(isset($_POST['showorder'])){
showdate(12,"tomonth",$_POST['tomonth']);
}else{
showdate(12,"tomonth",$expmonth1);
}
echo "月";
if(isset($_POST['showorder'])){
showdate(31,"today",$_POST['today']);
}else{
showdate(31,"today",$expday1);
}
echo "日";
if(isset($_POST['showorder'])){
showdate(23,"tohour",$_POST['tohour']);
}else{
showdate(23,"tohour",$exphour);
}
echo "时";
echo "  <input type=submit name='showorder' value='显示'>";
echo "</td></tr>";
echo "</form>";
echo "</table>";
cc1q 2003-06-05
  • 打赏
  • 举报
回复
up
kuanghu 2003-06-05
  • 打赏
  • 举报
回复
查mysql中文参考手册
7.4.11 日期和时间函数
shuiaaa 2003-06-05
  • 打赏
  • 举报
回复
我这写在代码,我说思想你来实现!!!劳动的活还是你做吧!!!
你在数据表中建个时间,
最近一天
2003-04-25 13:33
把变成
2003-04-26 13:33
就可以,很好实现的!!!
以此类推!!!!
使用时间计算提交到数据库中,查询!!!
cc1q 2003-06-05
  • 打赏
  • 举报
回复
这个问题我也困惑阿,up

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧