140218訓練

投稿者: | 2014年2月18日

結構復習っぽい内容ですが、
項目としてまとまってたのでもう一度。

時間に関する関数

time

現在のUnixタイムスタンプを返す。

コード

echo time();

出力結果

1392683415

三十日後を出したいといった場合には、
time()+(60*60*24*30)
といった書き方も出来る。

date

ローカルの日付/時刻を書式化する。
第一引数:日付/時刻の書式
第二引数:表示したいタイムスタンプ(時間)。省略すると現在時刻となる。

コード

date('Y年m月d日(l) H:i:s',time()+60*60*24*30);

出力結果

2014年03月20日(Thursday)

曜日wについて

wで曜日を取得できるが、日曜日を0とした数値で取れてしまう。
(日)とか(月)なんてしたい場合は配列を使ってなんとかします。

2014年02月18日(火)

mktime

日付をUnixのタイムスタンプとして取得する。
第一引数:時
第二引数:分
第三引数:秒
第四引数:月
第五引数:日
第六引数:年

コード

echo mktime(9,0,0,2,18,2014);

出力結果

1392681600

strtotime

英文形式の日付をUnixタイムスタンプに変換する。

コード

echo strtotime("2014/02/18 09:53:30");

出力結果

1392684810

カウントダウンさせてみる

入力値にしたがって後何日なの?を表示する。
COOKIEを使う。
COOKIE専用phpファイルを用意しない。

コード

日付をinput[type=”number”]で取る場合

日付をinput[type=”date”]で取る場合
上記コードと同じ部分は省略

setcookieは「次のページのロードから」なので登録直後はページに反映されないため、$_COOKIEにPOSTデータを代入している。
POSTデータが空の場合はカウントダウン表示を一切しない。
すでに過ぎた開催日を指定した場合は開催日が過ぎていると警告を出している。

特定レコードを一覧表示する

英単語のテーブルwordsからanで始まる英単語を20件取得する。

SQL文

SELECT * FROM words WHERE title LIKE "an%" LIMIT 20;

LIKEでtitleフィールドが「anから始まって以下0文字以上の文字列」に一致したレコードを取得。
LIMITで20件だけ取得。

コード

実行したSQLで取得したanから始まる単語20レコードの結果セット(仮想テーブル)をfetchで毎行読み込み、行が無くなるまでループする。


コメント

Loading Facebook Comments ...

コメントを残す

No Trackbacks.