1

我可以使用从数据库中选择最近一个月的所有记录,

$month = (mktime(0,0,0,date('n'),1)); 
$q="SELECT * FROM table WHERE timestamp>$month";

此查询将生成八月(最近一个月)的记录。我必须选择每个月的所有记录(一月/二月../七月)。

如何选择所有其他月份的详细信息?

谢谢!

4

1 回答 1

2

安全提示:更改列名 bcoz时间戳是 mySQL 保留关键字,会导致混淆,否则总是`与列名一起使用。

我假设 dateColumn 数据类型是datetime

<select name ="month" >
 <option value="1"> January </option>
 ...
</select>

现在获取所选月份的值

$month = $_POST['month']; // means integer value of month ( 1,2,3..12)

然后尝试使用 mySQL MONTH()

SELECT * FROM tableName WHERE MONTH(`dateColumn` ) = $month

编辑

如果您将时间戳值存储在 dateColumn 中,则使用它

SELECT * FROM tableName WHERE MONTH(FROM_UNIXTIME(`dateColumn`)) = $month
于 2012-08-10T04:55:56.810 回答