比如搜:2010-6-1 至 2010-6-30 日 之间的所有数据
或者搜:2010-1-1 至 2010-12-30 日 之间的所有数据
再加个可以搜昨天的数据
我的要求是:要求用户 用select 自己选择时间段进行搜索我的时间字段是:senddate
数据库是时间戳:例:1274495635 (不是2010年5月22日 10:33:55格式)望高手来帮忙解决下。感激啊
分虽然不多,但问题解决,立即结贴。谢谢
或者搜:2010-1-1 至 2010-12-30 日 之间的所有数据
再加个可以搜昨天的数据
我的要求是:要求用户 用select 自己选择时间段进行搜索我的时间字段是:senddate
数据库是时间戳:例:1274495635 (不是2010年5月22日 10:33:55格式)望高手来帮忙解决下。感激啊
分虽然不多,但问题解决,立即结贴。谢谢
$stime = strtotime($startTime);$endTime = "2010-6-30 23:59:59";
$etime = strtotime($endTime);$sql="select * from tablename where senddate>='{$stime}' and senddate<='{$etime}';";
如果存在则需要修复下strtotime($endTime);的结果。(即根据时间差加上或减去对应的秒数)
<option value="">请选择</option>
<option value="搜今天的数据">搜今天的数据</option>
<option value="搜昨天的数据">搜昨天的数据</option>
<option value="2010-6-1至2010-6-30日的数据">6月份数据</option>
<option value="2010-6-1至2010-6-30日的数据">6月份数据</option>
<option value="2010-1-1至2010-12-30日的数据">2010年数据</option>
</select>
<option value="">请选择</option>
<option value="搜今天的数据">搜今天的数据</option>
<option value="搜昨天的数据">搜昨天的数据</option>
<option value="2010-5-1至2010-5-30日的数据">5月份数据</option>
<option value="2010-6-1至2010-6-30日的数据">6月份数据</option>
<option value="2010-7-1至2010-7-30日的数据">7月份数据</option>
<option value="2010-8-1至2010-8-30日的数据">8月份数据</option>
<option value="2009-1-1至2009-12-30日的数据">2009年数据</option>
<option value="2010-1-1至2010-12-30日的数据">2010年数据</option>
</select>
$bt = strtotime($today." 00:00:00");
$et = strtotime($today." 23:59:59");
echo '<option value="'.$bt.'-'.$et.'">今天数据</option>';
echo "\r\n";$yesterday = date("Y-m-d",strtotime("-1Day"));
$bt = strtotime($yesterday." 00:00:00");
$et = strtotime($yesterday." 23:59:59");
echo '<option value="'.$bt.'-'.$et.'">昨天数据</option>';
echo "\r\n";for($i = 0; $i < 7; $i ++){$txtbt = date("Y-m",strtotime("-".$i."Month"))."-1";
$txtet = date("Y-m",strtotime("-".$i."Month"))."-".date('t', $bt); $bt = strtotime(date("Y-m",strtotime("-".$i."Month"))."-1 00:00:00");
$et = strtotime(date("Y-m",strtotime("-".$i."Month"))."-".date('t', $bt)." 23:59:59");
echo '<option value="'.$bt.'-'.$et.'">'.$txtbt.'至'.$txtet.'的数据</option>';
echo "\r\n";}?>
改成这样不就容易比较了!? <?php
$bet = explode('-', $_POST['senddate']);
$sql = "................where senddate between ".$bet[0]." and ".$bet[1];
............................
?>
<?php
$today = date("Y-m-d",time());
$bt = strtotime($today." 00:00:00");
$et = strtotime($today." 23:59:59");
echo '<option value="'.$bt.'-'.$et.'">今天数据</option>';
echo "\r\n";$yesterday = date("Y-m-d",strtotime("-1Day"));
$bt = strtotime($yesterday." 00:00:00");
$et = strtotime($yesterday." 23:59:59");
echo '<option value="'.$bt.'-'.$et.'">昨天数据</option>';
echo "\r\n";for($i = 0; $i < 7; $i ++){$datebt = date("Y-m",strtotime("-".$i."Month"))."-1";
$dateet = date("Y-m",strtotime("-".$i."Month"))."-".date('t', $bt); $bt = strtotime($datebt." 00:00:00");
$et = strtotime($dateet." 23:59:59");
echo '<option value="'.$bt.'-'.$et.'">'.date('Y年m月', $bt).'的数据</option>';
echo "\r\n";}?>
<?php
$today = date("Y-m-d",time());
$bt = strtotime($today." 00:00:00");
$et = strtotime($today." 23:59:59");
echo '<option value="'.$bt.'-'.$et.'">今天数据</option>';
echo "\r\n";$yesterday = date("Y-m-d",strtotime("-1Day"));
$bt = strtotime($yesterday." 00:00:00");
$et = strtotime($yesterday." 23:59:59");
echo '<option value="'.$bt.'-'.$et.'">昨天数据</option>';
echo "\r\n";for($i = 0; $i < 7; $i ++){$datebt = date("Y-m",strtotime("-".$i."Month"))."-1";
$dateet = date("Y-m",strtotime("-".$i."Month"))."-".date('t', $datebt); $bt = strtotime($datebt." 00:00:00");
$et = strtotime($dateet." 23:59:59");
echo '<option value="'.$bt.'-'.$et.'">'.date('Y年m月', $bt).'的数据</option>';
echo "\r\n";}?>
<option value="">请选择</option>
<option value="搜今天的数据">搜今天的数据</option>
<option value="搜昨天的数据">搜昨天的数据</option>
<option value="2010-5-1至2010-5-30日的数据">5月份数据</option>
<option value="2010-6-1至2010-6-30日的数据">6月份数据</option>
<option value="2010-7-1至2010-7-30日的数据">7月份数据</option>
<option value="2010-8-1至2010-8-30日的数据">8月份数据</option>
<option value="2009-1-1至2009-12-30日的数据">2009年数据</option>
<option value="2010-1-1至2010-12-30日的数据">2010年数据</option>
</select>
<? require("tools.php"); ?>
<? //require("checkpass.php"); ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>按发布人+时间搜索全站文章</title>
<? if($addedit_subed!="true"){ //********************** ?>
<script language="JavaScript" src="check.js"></script>
<script LANGUAGE="javascript">
<!--
function add_onsubmit(add) {
//if (!checkvalue(add.title,0,0,1,"标题")) return false;
//if (!checkvalue(add.writer,0,0,1,"发布人")) return false;
}
//-->
</SCRIPT>
<? } //*************************************************?>
<style type="text/css">
<!--
body,td,th {font-size: 12px;}
-->
</style></head>
<body bgcolor="#FFFFFF"><? require("top.inc"); ?>
<form method=GET action=renaiask_list.php name=add LANGUAGE=javascript onSubmit="return add_onsubmit(this)">
<div align=center>
<table width=562 border=0 align="center" cellpadding=0 cellspacing=1>
<tr>
<td>
发布人:
<select name="writer" size=1>
<option value="">请选择</option>
<option value="1111111">11111111</option>
<option value="admin">admin</option>
</select>
<select name="writer" size=1>
<option value="">请选择</option>
<option value="senddate">
<?php
$bet = explode('-', $_POST['senddate']);
$sql = "select * from dede_archives where senddate between ".$bet[0]." and ".$bet[1];
?>
<?php
$today = date("Y-m-d",time());
$bt = strtotime($today." 00:00:00");
$et = strtotime($today." 23:59:59");
echo '<option value="'.$bt.'-'.$et.'">今天数据</option>';
echo "\r\n";$yesterday = date("Y-m-d",strtotime("-1Day"));
$bt = strtotime($yesterday." 00:00:00");
$et = strtotime($yesterday." 23:59:59");
echo '<option value="'.$bt.'-'.$et.'">昨天数据</option>';
echo "\r\n";for($i = 0; $i < 7; $i ++){$txtbt = date("Y-m",strtotime("-".$i."Month"))."-1";
$txtet = date("Y-m",strtotime("-".$i."Month"))."-".date('t', $bt); $bt = strtotime(date("Y-m",strtotime("-".$i."Month"))."-1 00:00:00");
$et = strtotime(date("Y-m",strtotime("-".$i."Month"))."-".date('t', $bt)." 23:59:59"); echo '<option value="'.$bt.'-'.$et.'">'.$txtbt.'至'.$txtet.'的数据</option>';
echo "\r\n";
}
?>
</option>
<input type=submit value="提交" name=B1 class=fstyle>
</td>
</tr>
</table>
</div>
</form>
<? require("bottom.inc"); ?>
</body>
</html>
................post
<? require("tools.php"); ?>
<? //require("checkpass.php"); ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>按发布人+时间搜索全站文章</title>
<? if($addedit_subed!="true"){ //********************** ?>
<script language="JavaScript" src="check.js"></script>
<script LANGUAGE="javascript">
<!--
function add_onsubmit(add) {
//if (!checkvalue(add.title,0,0,1,"标题")) return false;
//if (!checkvalue(add.writer,0,0,1,"发布人")) return false;
}
//-->
</SCRIPT>
<? } //*************************************************?>
<style type="text/css">
<!--
body,td,th {font-size: 12px;}
-->
</style></head>
<body bgcolor="#FFFFFF"><? require("top.inc"); ?>
<form method=POST action=renaiask_list.php onSubmit="return add_onsubmit(this)">
<div align=center>
<table width=562 border=0 align="center" cellpadding=0 cellspacing=1>
<tr>
<td>
发布人:
<select name="writer">
<option value="">请选择</option>
<option value="1111111">11111111</option>
<option value="admin">admin</option>
</select>
<select name="senddate">
<option value="">请选择</option>
<?php
$today = date("Y-m-d",time());
$bt = strtotime($today." 00:00:00");
$et = strtotime($today." 23:59:59");
echo '<option value="'.$bt.'-'.$et.'">今天数据</option>';
echo "\r\n";$yesterday = date("Y-m-d",strtotime("-1Day"));
$bt = strtotime($yesterday." 00:00:00");
$et = strtotime($yesterday." 23:59:59");
echo '<option value="'.$bt.'-'.$et.'">昨天数据</option>';
echo "\r\n";for($i = 0; $i < 7; $i ++){$datebt = date("Y-m",strtotime("-".$i."Month"))."-1";
$dateet = date("Y-m",strtotime("-".$i."Month"))."-".date('t', $datebt); $bt = strtotime($datebt." 00:00:00");
$et = strtotime($dateet." 23:59:59");
echo '<option value="'.$bt.'-'.$et.'">'.date('Y年m月', $bt).'的数据</option>';
echo "\r\n";}?>
</select>
<input type=submit value="提交" name=B1 class=fstyle>
</td>
</tr>
</table>
</div>
</form>
<? require("bottom.inc"); ?>
</body>
</html>
renaiask_list.php代码如下:
<?php
$bet = explode('-', $_POST['senddate']);
$sql = "select * from dede_archives where senddate between ".intval($bet[0])." and ".intval($bet[1]);
.....................................
?>
能准确的按时间搜出信息了但按发布人选择的有失去了功效了哦发布人:
<select name="writer">
<option value="">请选择</option>
<option value="1111111">11111111</option>
<option value="admin">admin</option>
</select>不能按发布人搜了 只有日期了
能再帮忙看看么?
比如我选择作者 admin 选择时间 2010年6月份数据
搜出来的信息确实全部是6月份的数据
但是 显示的不是admin一个人发布的,是只要在6月份有发布信息的人都显示出来了我的搜索条件只有2个 先选择作者 再选择时间 搜出指定数据谁能再帮忙看看啊
renaiask_list.php代码如下:
<?php
$writer = $_POST['writer'];
$bet = explode('-', $_POST['senddate']);
$sql = "select * from dede_archives where senddate between ".intval($bet[0])." and ".intval($bet[1])." and writer='".$writer."'";
.....................................
?>
select * from @#__tbname where senddate between unix_timestamp('$date_start') and unix_timestamp('$date_end')