maki-o memo

制作に関する私的なメモです

二点間の距離

という、およそ学生時代には社会に出て使う必要なし。と判断したものを調べる機会がありました。

二点をA(x1,y1)、B(x2,y2)とし、その間の距離を求める公式。

AB = √(x2-x1)×(x2-x1)+(y2-y1)×(y2-y1)

だそうです。

ちなみにこれをjsのスクリプトでやるとこうなります。

var dx = x2-x1; var dy = y2-y1; var dxy = Math.abs(dxdx+dydy); AB = Math.round(Math.sqrt(dxy));


phpでページャー実装

ページャーのクラスを作ったのでメモ。


利用頻度が高そうな正規表現たち

//郵便番号:
preg_match("/^\d{3}\-\d{4}$/",$hoge);
//電話番号:
if (!preg_match("/^\d{2}\-\d{4}\-\d{4}$/",$hoge) && !preg_match("/^\d{3}\-\d{3}\-\d{4}$/",$hoge) && !preg_match("/^\d{4}\-\d{2}\-\d{4}$/",$hoge)){
$error_mes[] = "電話番号の入力が不正です";
}
//メアド:
preg_match("/^[a-zA-Z0-9_\.\-]+?@[A-Za-z0-9_\.\-]+$/",$hoge);
参考サイト: http://phpspot.net/php/pg%90%B3%8BK%95%5C%8C%BB%81F%83%81%81%5B%83%8B%83A%83h%83%8C%83X%82%A9%82%C7%82%A4%82%A9%92%B2%82%D7%82%E9.html http://catbot.net/blog/2007/06/re_php.html

phpでカレンダーを作りました

カレンダーを作ったので、メモ。

まず、表示したい月を決めます。
たとえば、現在の月を表示したいなら、

$nowts = time();

という、現在のタイムスタンプを格納する変数をつくる。
これを起点日とします。
今日以前は表示したくないカレンダーを作りたかったので、
この変数を基準に必要なパラメータを出していきます。

  • $stweek = date("w",$nowts);//起点日の曜日番号
  • $stday = date("j",$nowts);//起点日
  • $edday = date("t",$nowts);//起点日の月の最終日

まず、$nowts の月の残り日数を計算します。

$nokori = $edday-($stday-1);

起点日から-1をしないと引きすぎてしまいます。
ここに、$stweekを足します。
カレンダーは週単位で計算しないといけないので、起点日の週の既に終わった日も プラスしてあげないといけません。
なので、

$nokori += $stweek;

これをさらに、週の日数である、7で割り、切り上げます。
そうすると、計算すべき週数が出ます。

$nokori = ceil($nokori/7);

これで、必要なパラメータが揃いました。
これを処理して、smartyのテンプレートで表示したいので、加工しやすいように 配列を作ります。


チェックボックスの制御

smartyのhtml_checkboxes使ってる時、チェックボックスが並ぶ場合に端で微妙な切れ方をします。それをcssで制御。

smartyでチェックボックスを自動生成すると、label要素で囲まれます。 なので、それにcssを指定します。

label { display: inline-block; }

これでOK。 widthも指定できます。 IE6、FF3、OP9.5、Safari3.2(すべてWin) では動いてます。

元ネタ:http://webos-goodies.jp/archives/51275332.html

プロフィール

フロントエンドエンジニア

Tomokazu Makita

名古屋でフリーランスでWeb制作してます。 フロントエンドのことを主にやってます。
a-blog cmsを使用したサイト制作が得意です。
お仕事のご相談随時受付中。

雪山大すき。冬は雪山の合間に仕事します。
財布はいつも吹雪です。

エントリーリスト

タグ