0

一部のデータでグラフを使用し、選択した日付に基づいて値を生成したいと考えています (日付ピッカーを使用)。私はウェブ上のほとんどのものを盗みましたが、簡単な質問しかないかもしれません.

イディオムのクエリは次のとおりです。

if (isset($_GET['start']) AND isset($_GET['end'])) {

$start = $_GET['start'];
$end = $_GET['end'];
$data = array();

// Select the results with Idiorm
$results = ORM::for_table('tbl_data')
        ->where_gte('date', $start)
        ->where_lte('date', $end)
        ->order_by_desc('date')
        ->find_array();


// Build a new array with the data
foreach ($results as $key => $value) {
    $data[$key]['label'] = $value['date'];
    $data[$key]['value'] = $value['rev'];
}

echo json_encode($data);
}

$start$endは私の日付ピッカーからのもので、フォーマットされてyyyy-mm-ddいます。どうすればよいかわからないのは、->where_gteステートメントを変更する方法だけです。ご覧のとおり、フィールドのデータベースを照会していますdate。私のデータベースには、 と の 3 つのフィールドがyearありmonthますday

3 つのフィールドを組み合わせて 1 つの式にする方法はyearありますmonthか?day->where_gte('year'&'month'&'day', $start)

検索して検索してみましたが、キーワードが間違っているか、知識が不足している可能性があります。

助けてくれてありがとう!

4

2 に答える 2

0

MySqlDATE_FORMAT()関数を使用して日付形式を管理できます。例えば:

// Select the results with Idiorm
$results = ORM::for_table('tbl_data')
        ->where_gte('date', "DATE_FORMAT($start, '%Y-%m-%d')")
        ->where_lte('date', "DATE_FORMAT($end, '%Y-%m-%d')")
        ->order_by_desc('date')
        ->find_array();
于 2014-07-29T08:03:45.467 に答える