0

我有一个名为 gameschedules 的数据库和一个名为 dec1212 的表。此表的内部是列date (YYYY-MM-DD), division, field, time, team1, 和按此team2顺序排列。

我的页面上已经显示了数据,但我需要将其限制为仅显示数据库中日期等于当前日期的行。因此,如果有 10 行并且其中只有 5 行在日期列中有今天的日期,那么只有那些应该显示。这是我当前的查询代码,我知道这是错误的,但如果有人可以帮助我纠正它,那就太好了:

当前代码:

//specifies that it is getting data from the table and limited num rows
$result = mysql_query("SELECT * FROM `dec1212` LIMIT 0, 10 ") or die(mysql_error());

这是我试图按日期限制数据的方法:

//set variable to current date with same format as date column
$myDate = date('Y-m-d');
//pull only rows that match the current date
$result = mysql_query("SELECT * FROM 'dec1212' WHERE date = $myDate()") or die(mysql_error());

我知道我的代码不正确,所以这就是我寻求帮助的原因。

4

8 回答 8

3

试试这只是一个信号线查询

$result = mysql_query('SELECT * FROM dec1212 WHERE DATE(CONVERT_TZ(date,"+00:00","-8.00")) = DATE(CONVERT_TZ(UTC_TIMESTAMP(),"+00:00","-8.00"))') or die(mysql_error());**
于 2012-12-13T04:37:21.747 回答
2
$myDate = date('Y-m-d');
//pull only rows that match the current date
$result = mysql_query("SELECT * FROM `dec1212` WHERE date = '$myDate'") or die(mysql_error());

尝试这个

于 2012-12-13T04:31:13.120 回答
1
$result = mysql_query("SELECT * FROM `dec1212` WHERE `date` = CURDATE()") or die(mysql_error());
于 2012-12-13T04:33:20.690 回答
0

尝试这个

//set variable to current date with same format as date column
$myDate = date('Y-m-d');
//pull only rows that match the current date
$result = mysql_query("SELECT * FROM 'dec1212' WHERE date = $myDate") or die(mysql_error());
于 2012-12-13T04:31:19.430 回答
0

您使用的是变量而不是函数,所以只需像这样更改

$myDate = date('Y-m-d');
$result = mysql_query("SELECT * FROM 'dec1212' WHERE date = '$myDate'") or die(mysql_error());
于 2012-12-13T04:31:28.463 回答
0

确保数据库中的日期字段包含唯一的日期,而不是时间

$result = mysql_query("SELECT * FROM 'dec1212' 
            WHERE `date`= '$myDate'") or die(mysql_error());

如果您的日期字段包含日期时间数据类型,则使用:

$result = mysql_query("SELECT * FROM 'dec1212' 
            WHERE `date`= date('$myDate')") or die(mysql_error());
于 2012-12-13T04:31:49.727 回答
0

让数据库完成工作,

SELECT * FROM `dec1212` WHERE DATE(date) = DATE(NOW())
于 2012-12-13T04:32:15.717 回答
0

请注意,这$myDate是一个变量,而不是一个函数。因此,您的代码将是:

  //set variable to current date with same format as date column
  $myDate = date('Y-m-d');
  //pull only rows that match the current date
  $result = mysql_query("SELECT * FROM `dec1212` WHERE date = '$myDate'") or die(mysql_error());

表名或字段名应该用克拉`包裹,而不是单引号'或者你可以省略它。

如果要使用 MySQL NOW(),则需要考虑 Raj Mohan 提到的时区转换。

于 2012-12-13T04:41:50.370 回答