前 目 次

並べ替え

ファイルを読んで並べ替え

元のデータは前回読んだ tbltxt.txt。PHPでこれを読んでソートしてtableにします。

番号	姓	名	性別	みょうじ	なまえ
01	千葉	早織	女	ちば	さおり
02	對馬	奈那	女	つしま	なな
03	諏訪	真以子	女	すわ	まいこ
04	須藤	愛子	女	すとう	あいこ
05	横澤	真由美	女	よこさわ	まゆみ
06	赤石	魅音	女	あかいし	みお
07	三浦	大樹	男	みうら	だいき
08	住吉	亜希	女	すみよし	あき
09	井澤	麻美	女	いざわ	あさみ
10	齋藤	梨花	女	さいとう	りか
11	中田	裕也	男	なかた	ゆうや
12	荒川	諭子	女	あらかわ	さとこ
13	工藤	亜紗美	女	くどう	あさみ
14	福澤	静香	女	ふくさわ	しずか
15	齋藤	春人	男	さいとう	はると
16	山中	裕美	女	やまなか	ひろみ
17	花田	季恵	女	はなた	きえ
18	細貝	聖香	女	くりがた	せいか
19	田中	翠	女	たなか	みどり
20	浅利	麻希	女	あさり	あさき
21	松木	友子	女	まつき	ともこ
22	齋藤	啓太	男	さいとう	けいた

ソートしたものがこれ。cssであらかじめスタイルを作っておく

06赤石魅音女あかいしみお
20浅利麻希女あさりあさき
12荒川諭子女あらかわさとこ
09井澤麻美女いざわあさみ
13工藤亜紗美女くどうあさみ
18細貝聖香女くりがたせいか
22齋藤啓太男さいとうけいた
15齋藤春人男さいとうはると
10齋藤梨花女さいとうりか
04須藤愛子女すとうあいこ
08住吉亜希女すみよしあき
03諏訪真以子女すわまいこ
19田中翠女たなかみどり
01千葉早織女ちばさおり
02對馬奈那女つしまなな
11中田裕也男なかたゆうや
17花田季恵女はなたきえ
14福澤静香女ふくさわしずか
21松木友子女まつきともこ
07三浦大樹男みうらだいき
番号姓名性別みょうじなまえ
16山中裕美女やまなかひろみ
05横澤真由美女よこさわまゆみ

そのプログラムがこれ。<table></table>はそのまま書き、その間にPHPプログラムを書く

<table>
<?php
$fp = fopen("tbltxt.txt","r");        
$arr_ct = 0;
while(!feof($fp)){
    $line = fgets($fp);
    if (trim($line) != null){
        list($no,$sei,$mei,$seib,$ysei,$ymei) = explode("\t",$line);
        $key = $ysei . " " . $ymei;
        $val = $line;
        $gotoarray[$key]=$val;
    }
}
fclose($fp);

ksort($gotoarray);
foreach ($gotoarray as $key => $val) {
   list($no,$sei,$mei,$seib,$ysei,$ymei) = explode("\t",$val);
        print "<tr>\n";
        print "<td>$no</td><td>$sei</td><td>$mei</td>";
        print "<td>$seib</td><td>$ysei</td><td>$ymei</td>\n";
        print "</tr>\n";
}
?>
</table>

課題

上記のように別ファイルからデータを読みなにかの項目で並べ替え、表を作るページを作りなさい。 データファイルは前回の課題と同じものでもよいし別のファイルを作っても良い。 phpのページファイルは sort.php という名前で保存します。index.htmlに「phpで表をソート」という名前の リンクを作ります。


ウェブページ(Feb.2012)
聖愛中学高等学校
http://www.seiai.ed.jp/
Feb.2012 初稿