【发布时间】:2015-02-12 17:00:00
【问题描述】:
我想知道是否有办法只在两个日期之间获取数据集(具体时间示例:下午 5 点到 6 点之间)。我必须做一个选择,它只应该在下午 5 点到 6 点之间返回数据集。有没有一种方法可以让您轻松做到这一点?
编辑:这里是 SQL 代码:
Select fahrten_id, StartOrt, Zielort, abfahrt FROM fahrten WHERE ' + $von + ' <= abfahrt AND abfahrt <= ' + $bis + '
“abfahrt”是应该检查的日期。
编辑2:
<?php
header('Content-type: application/json');
$server = "---";
$username = "---";
$password = "---";
$database = "---";
$von = $_POST["von"];
$bis = $_POST["bis"];
$con = mysql_connect($server, $username, $password) or die ("Could not connect: " . mysql_error());
mysql_select_db($database, $con);
$sql = "Select fahrten_id, StartOrt, Zielort, abfahrt FROM fahrten WHERE '$von' <= abfahrt AND abfahrt <= '$bis'";
$result = mysql_query($sql) or die ("Query error: " . mysql_error());
$records = array();
while($row = mysql_fetch_assoc($result)) {
$records[] = $row;
}
mysql_free_result($result);
mysql_close($con);
echo $_GET['jsoncallback'] . '(' . json_encode($_POST) . ');';
?>
这是代码中的 PHP,我只删除了 pw 和用户名和服务器名
【问题讨论】:
-
听起来很简单,但我们需要一些您目前拥有的代码才能提供帮助。
-
需要代码。需要知道数据库服务器是什么。需要知道您是否将日期存储在
DATETIME或仅作为字符数据。等等。 -
另外,请编辑您的标签以包含您正在使用 MySQL、Oracle、SQL-Server 的 RDBMS。最佳解决方案可能取决于您使用的数据库。
-
继续并使用运行查询的行的 PHP 代码更新问题,因为这里显然有 PHP 语法错误需要处理。 (即
+vs.) -
您能告诉我们
$von和$bis日期取什么值,输出是什么?事实上,我们只能猜测问题出在哪里,因为我们没有完整的陈述可供查看。查询大致看起来没问题 - 这些变量只是日期戳而不是日期+时间戳?
标签: php mysql sql database select