Strings of Life

PHP/Phalcon/MySQL/JavaScript/RegExp/Ruby/Perl/ActionScript

2012年04月

今週は、Ajaxの練習、PHP+MySQLによるユーザ情報検索ページ(フルスクラッチではなく、既存のものを改変)、会員登録ページのCSS実装と、仕様変更に合わせたPHPの改変等。内容は本格的になってきた感がある。

今週のユーザ情報検索ページのページングで、先々週に書いたソースを流用する場面があったのだけど、最初どこに書いたか思い出せなくて困った。そこで、日報をつけて、その日やった内容をメモすることに。

今はローカルにテキストファイルで置いてるけど、検索性やアクセスのしやすさを考えると、非公開のWiki/Blogあたりが便利かな、と思っている。

今週はずっとコーディング。PHPも多少書いてるけど。

PCサイトのコーディングでは、ブラウザー毎の対応に苦慮。IE7も厄介だったけど、一番の難敵は今回はChromeだった。tdとborder絡みのおかしな表示なのだけど、自宅で作った簡単なサンプルでは同様の現象は確認できず、何が悪かったのかは未だに不明。

今日はスマートフォンサイトのコーディング。PCサイトに比べ、レイアウトの指定には非常に気を使う。1px単位でwidthの指定を書き換えることも多い。また、外部CSSに書いたプロパティがうまく反映されず、style要素を大量に書き足すなどした。

今週はずっとPHP&MySQL。SQLのうち、SELECT文の書き方だけをしっかりやって、その後はSQLの結果をPHPを使ってHTML上に引っ張ってくる操作の練習。

SQLの記法にもある程度慣れ、PHPも調べながらならそれなりに書けるようになったかな、というところ。

ページング機能を実装してたら、うっかり無限ループを書いてしまうという一幕も。

失敗例:

<?php
for ($i=1;$i < 10;$i++){
    if($i = 1){
        echo "1";
    }else{
        echo "$i";
    }
}

if($i = 1)で、「$iに1が入っているときは」という条件文を書いたつもりだが、実際には$iに1を代入しているので、結果、$iに1を代入→"1"を表示→$iに1を加算→$iに1を代入... の無限ループとなっている。$iに1が入っている時だけ動く条件文は、以下のように書く(=を==に変えただけ)。

<?php
for ($i=1;$i < 10;$i++){
    if($i == 1){
        echo "1";
    }else{
        echo "$i";
    }
}

今日は1日jQuery。『Web制作の現場で使う jQueryデザイン入門』のサンプルコードを写経したり、サンプルを見ないで同じ表現を書いてみたり。jQueryのコードを読み解く能力は確実に向上したが、書く能力はまだまだ。

今日は1日jQuery。("p#name").text("abcde"); といった単純な構文なら簡単だけど、複雑な構文になると、括弧が入り組んで大変分かりにくい。これはDreamweaverを使っているから、という理由もあるかも。バグつぶしに、FirefoxのエラーコンソールやFirebugが大いに活躍した。

このページのトップヘ