PEAR::Pagerが出来るようになったよの巻

2007/9/25 火曜日 - 0:23:54 by kensuu

月曜日担当のけんすうです。

とりあえず、今日は勉強場所の公開を行います。

r1020982.jpg

こんな感じでMacBook+ディスプレイでやっています。下でコード書いて、上で調べ物+動作確認、という形が多いですね。

作業の際にはEclipseを使っています。まだ全然使いこなせていないですが、記述を間違ったらエラーを出してくれたり、入力の補佐をしてくれるので、ケアレスミスが減りました。

初心者が勉強する際に、ケアレスミスは大きな躓きになります。というか、そこで時間がかかりすぎてイヤになってしまうことすらあります。それを回避するのはモチベーションを保つのにいいのではないかと実感しました。

左側には常に本を置いてあります。本を見ながらやる形が多いですね。コピペではなく、必ず自分でコードを書くようにしています。読んでわかる気になるだけではなく、アウトプットをきちんと出さなくてはいけないですね。

そして床にはこのように本を置いています。
r1020983.jpg
ぐわーって並べておいていつでも本にアクセスできるようにします。

本をどう使うか、というのは議論があると思いますが、僕の場合は

1:本は出ているものでよさげなものは全て買う
2:同じことをやるにも、すべての本の説明を読む

というやり方をしています。受験の時もそうでしたが、一つの本の説明を見るより、10冊の本の説明を読んだほうが、いろいろな視点からの説明になるので、わかりやすいのです。

お金はかさみますが、これが今のところ自分には一番あっていますね。

さて、今週勉強したところです。

あまり「ひとり開発ブログは更新していないのですが、やっていたことは、ずばり「PEAR」です。

PEARとは - はてなダイアリー

The PHP Extension and Application Repository

プログラミング言語PHP用のライブラリ集。色々な拡張モジュールやアプリケーションがPEARに登録されており、ネットワーク経由で取得・利用することができる。PerlでいうCPANにあたる。

「ぴあー」だと思われていたが最近「ぺあー」だと判明

これを使えるようになると開発が楽になると聞きました。自分で書かなくていいところは人の書いたものを使う、ということなのかな。

classというのを覚えたので、このあたりに挑戦できるのがうれしいです。

というわけで、書いてみた。使ったPEARは、PEAR::DBと、PEAR::Pagerです。

<?php
                $init_obj = new Init_class();
                
                //DBの登録数を数えます
                $sql= "select count(*) from idea_table";
                $count_result = $init_obj ->db_object -> getOne($sql);
                
                //DB
                $sql = "select id ,TITLE from idea_table order by id DESC";
                $db_result = $init_obj->db_object->query($sql);
                echo "<ol>";
                while($value = $db_result->fetchRow(DB_FETCHMODE_ASSOC)){
                    $date_list[] = array(
                    "id" => $value["id"],
                    "TITLE" => $value["TITLE"]
                    );
                }
                
                $DATE_FORMAT = "Y/n/j H:i:s";
                
                $page=array(
                    "itemData"=>$date_list,
                    "perPage"=>15,
                    "totalItems" =>$count_result,
                    "mode"=>"Sliding",
                    "altFirst"=>"First",
                    "altPrev"=>"",
                    'prevImg'=>"<-",
                    "altNext"=>"",
                    "nextImg"=>"->",
                    "altLast"=>"Last",
                    "altPage"=>"",
                    "separator"=>" | ",
                    "append"=>1,
                    "urlVar"=>"page",
                );
 
                $pager =& Pager::factory($page);
                $dates=$pager->getPageData();
                $link = $pager->getLinks();
                
                foreach ($dates as $test){
                    $id = $test["id"];
                    $title= $test["TITLE"];
                    echo "<a href=\"" . $id . "\">" . $title . "</a><br />";
                };
 
                //echo links to other pages:
                echo $links['all'];
 
                //Pager can also generate <link rel="first|prev|next|last"> tags
                echo $pager->linkTags;
                
                echo $pager->links;
 
                
                $init_obj->db_object->disconnect();
            ?>

見た目はしょぼいですが、一応できました!もうちょっといじれば実践でも使えそうです。

———

さてさて、今のところ僕は、「100日で100時間勉強する!」という目的でやっています。1日1時間。15日で1190分やっています。

初心者の頃は、なかなか能率があがらないので、このように時間で計るのもモチベーションアップとしてはいいなぁ、と思ったり。このあたりはまだ確立していないので、コツがつかめてきたらまた書きます!

WordPress database error: [Table 'rock_100.wp_comments' doesn't exist]
SELECT * FROM wp_comments WHERE comment_post_ID = '49' AND comment_approved = '1' ORDER BY comment_date

Leave a Reply

XHTML: You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>