2006/10/29(日)[メモ] URLで使用可能な文字数
RFC 2616 HTTP/1.1にはURLの長さに関する規定はないが、IEではURLに使用可能な文字数は2,083文字とされている。
日本語をURLに変換すると日本語1文字あたり6文字分使用されてしまう為、実際は日本語300文字程度しかGETメソッドで渡せないことになる。
ちなみにFirefoxなどの他のブラウザがどのように規定されているか不明。
2006/10/29(日)while文が好き
while文だと
$i = 1; while ( $i < 10 ) { echo $i."回目<br>\n"; $i++; }
for文だと
for ( $i=1; $i < 10; $i++ ) { echo $i."回目<br>\n"; }
やっている処理は同じでもwhile文の方が$iや$i++を個別に記入できる為、直感的でなんだか好きです。
2006/10/29(日)変数名の付け方
今作っているPHPプログラムから抜粋
$sql_get_category_list = "select CategoryName from category order by CategoryName asc;"; $category_list_result = mysql_query($sql_get_category_list); if (!$category_list_result) { echo "カテゴリ一覧が取得できません"; exit; } else { $i = 0; while( $i < mysql_num_rows($category_list_result) ) { $category_list[$i] = mysql_result($category_list_result, $i); $category_split_list[$i] = mb_split("::",$category_list[$i]); } $i++; }
PHPでは$○○で変数を表しますが、後でソースを読んだときに意味が解りやすい変数名を付けるとやたらと長くなってしまいます。
どのように変数名を付ければエレガントなプログラムになるのでしょうか?
2006/10/24(火)PHPなプログラミングメモ
PHPでサイトを作っているけど参考にしている本が古すぎるため(PHP4の初期)、要らない苦労をし続けている気が…。
はまったとこのメモ
実行中のスクリプトのパス
$PHP_SELF -> $_SERVER['PHP_SELF']
MySQLサーバに接続
mysql_connect($db_host, $db_user, $db_passwd);
DB選択
mysql_select_db($db_name);
POSTメソッドでのデータの受け渡し
$hogehoge -> $_POST['hogehoge']
2006/08/18(金)曲管理のためのWebアプリケーション::DB検討中2
前回のコメントからデータベーススキーマを再検討。
DB構造
Table:Track
個別トラックの情報を記録するためのテーブル
TrackID | Primary Key |
---|---|
TrackName | 曲タイトル |
TrackYomi | 曲タイトルよみ |
TrackNo | アルバムの中のトラックナンバー |
ArtistID | アーティストID |
WriterID | 作詞者ID |
ComposerID | 作曲者ID |
Arranger | 編曲者ID |
AlbumID | アルバムID |
GenreID | ジャンルID |
Time | 曲時間 |
Rating | 曲の評価 |
Comment | コメント |
Table:Album
アルバム全体の情報を記録するためのテーブル
AlbumID | Primary Key |
---|---|
AlbumName | アルバム名 |
AlbumYomi | アルバム名よみ |
DiscNo | アルバム中の何枚目か |
DiskTypeID | ディスクタイプID |
ArtistID | アーティストID |
ReleaseDate | リリース日 |
SPEC | 規格品番 |
TotalTrack | アルバムのトラック総数 |
TotalTime | アルバムの全時間 |
Comment | コメント |
asin | Amazonとの連携*1 |
Table:Artist
アーティスト情報を記録するためのテーブル
ArtistID | Primary Key |
---|---|
ArtistName | アーティスト名 |
ArtistYomi | アーティスト名よみ |
Parent | 親となるアーティストID |
AliasID | アーティスト名のエイリアス |
URI | オフィシャルサイトURI |
Comment | コメント |
Table:DiskType
8cmシングルとかベストアルバムとかのディスク種別を記録するためのテーブル
DiskTypeID | Primary Key |
---|---|
DiskType | ディスクタイプ |
Table:GenreID
J-POPとかのジャンル情報を記録するためのテーブル
GenreID | Primary Key |
---|---|
Genre | ジャンル |
Table:Alias
AliasID | Primary Key |
---|---|
Alias | アーティストIDを指定 |
作詞、作曲、編曲者のデータベースはアーティストテーブルを使用するつもり。
アーティストの主従関係は、親となるアーティストを指定。
例えば、ave;new feat. 佐倉沙織だと「ave;new」と「佐倉沙織」を指定するといった感じ。
アーティストのエイリアスは別途エイリアステーブルを使用する。
エイリアスで指定された場合、異なる名称でも同格であるとする。
あと、今考えているのはマルチユーザーにより情報の追加・補完が可能なようにするというのを考えている。
CDDB機能については、他のCDDBサーバからのインポートの他、CDDBサーバとしても使用できるようにしたいなぁ。