0

php と Mysql で検索システムを開発しようとしていますが、どのように検索しますか : たとえば、データベースの日付形式が 2012-03-26 (年/月/日) の場合、3 月を検索します。

4

4 に答える 4

4

列データの形式によっては、次のようなものが機能する可能性があります: (多くの解決策の 1 つ)

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

たとえば、3 月を検索するには、次のような MONTHNAME() 関数もあります。

SELECT * FROM table WHERE MONTHNAME(date_column) = 'march'
于 2012-04-10T23:01:05.667 に答える
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 に答える
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 に答える