MYSQLから得たデータをPHPにて表示したいのですが

当日のデータ、前日のデータ、前々日のデータと
ボタンを押すなどのタイミングで遡って表示させたいのですがどうすれば良いのでしょうか?
可能でしょうか?
例)
売上テーブル
種類 売上日 値段 個数
リンゴ 2013/03/30 120円 3個
リンゴ 2013/03/29 110円 4個

参考になるURLやコードを教えてもらえると助かります。

回答の条件
  • 1人20回まで
  • 13歳以上
  • 登録:2013/03/30 17:17:31
  • 終了:2013/04/01 12:04:44

ベストアンサー

id:windofjuly No.1

うぃんど回答回数2625ベストアンサー獲得回数11492013/03/30 20:58:45

一例

<?php

// 日付受取と確認
// 渡された日付が書式として正しいかどうかはstrtotimeの判定に委ねている
// 日付が無い場合や書式としておかしな場合は現在日時を用いる
if ( ( $d = strtotime($_GET['date']) ) === False ) $d = time();

// 日付を文字列化して以後扱いやすくする
// 前日の計算は 86400秒 を引くことで行う
$target = date( 'Y/m/d', $d ); 
$pre = date( 'Y/m/d', $d - 86400 );

// ボタン作成
// 日付で/を用いているのでurlencodeを用いて整形
echo '<a href="' . $_SERVER['SCRIPT_NAME'] . '?date=' . urlencode( $pre ) . '">前日(' . $pre . ')</a>';

// SQL生成
$s = "SELECT * FROM 売上テーブル WHERE 売上日 = '" . $target . "'";

// SQL実行
// SQLを実行したつもりでSQL文を返してます。
echo '<br />' . $s;
他3件のコメントを見る
id:windofjuly

>売上日に時間が含まれている場合

売上日も日付だけにしてあげないと比較はできないのでDATE関数で時刻部分をカット

$s = "SELECT * FROM 売上テーブル WHERE DATE(売上日) = '" . $target . "'";
2013/04/04 18:56:10
id:sora199

ありがとうございました。
解決できました。

2013/04/05 19:52:07

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません