我试图用php和Mysql开发一个搜索系统,但是你如何搜索:例如数据库中日期格式为2012-03-26(年/月/日)的三月
问问题
3192 次
4 回答
4
根据列数据的格式,这样的事情可能会起作用:(许多解决方案之一)
SELECT [whatever]
FROM [wherever]
WHERE `date` < '2012-03-31 23:59:59'
AND `date` > '2012-03-01 00:00:00'
于 2012-04-10T22:56:30.390 回答
2
您可以像这样使用 mysql MONTH()函数:
SELECT * FROM table WHERE MONTH(date_column) = 3
例如搜索 March,或者还有这样的 MONTHNAME() 函数:
SELECT * FROM table WHERE MONTHNAME(date_column) = 'march'
于 2012-04-10T23:01:05.667 回答
0
尝试类似的东西
SELECT keyword , description , url FROM searchTable WHERE MONTH(addDate) = '3'
SELECT keyword , description , url FROM searchTable WHERE MONTHNAME(addDate) = 'March'
于 2012-04-10T23:00:25.277 回答
0
这是一个相当粗略的示例,说明您如何处理搜索表单中的日期 -
<form method="get" action="">
Year:
<select name="year">
<option value="2012">2012</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
</select>
Month:
<select name="month">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
</select
<input type="submit" name="search" value="search"/>
</form>
<?php
if (isset($_GET['search'])) {
$year = intval($_GET['year']);
$month = intval($_GET['month']);
$sql = "SELECT *
FROM `table`
WHERE `date` BETWEEN '$year-$month-01' AND LAST_DAY('$year-$month-01')";
}
于 2012-04-10T23:46:37.083 回答