2014年10月29日水曜日

メモ・データベースとの連携


SQL文でつまづいたのでメモ。

MySQLのデータベースからSQL文(select)で情報を取り出す。

  1. PHPでSQL文を作成
  2.  →データベースへSQL文発行(MySQL)
  3.   →レコードセット(戻り値)からデータを取り出す
まず部分検索の「LIKE」を使いたかった。

やりたいこと(1)--「赤」という名前を含むアイテムを「items」テーブルの「color」フィールドから検索

 SELECT    *
 FROM    items
 WHERE    color LIKE ‘%赤%’ ;


文字の前後どちらとも曖昧で良いように、前後に%をつける。 


 「赤」がつくアイテムが大量にあるため「LIMIT」を使って表示件数を制限する。
このとき、前後の処理の関係で件数には変数を代入する

「LIMIT ○件」の部分にsprintfで$numberを入れる。

やりたいこと(2)-表示件数を制限

$sql=sprintf("SELECT * FROM items WHERE color LIKE ‘%赤%’ LIMIT %d;",$number);

こでで%dの部分に$numberが入って、名前に「赤」とつくアイテムが「&number」件だけ取り出せるはず。

取り出せなかった。
$sqlをechoしてみるが、何も入ってない…?

原因:sprintf( "○○○○", $変数);
   この○○に「%」があるため、正しく処理されてない。
   ‘%赤%’の部分が「%d」や「%x」のように思われてる。なるほど。
 ↓
対処:%を%%に変更。文字列の%として扱ってくれる。


こんなところで30分悩んだ。

 文字列関数・sprintf

こちらの記事で解決しました!
printf関数とsprintf関数のフォーマット指定子のオプションと型指定子 (Perl勉強日記)


 

75日目|PHPでのループの復習


今日学んだこと

ループ処理について復習

  • for
 for( $変数名 初期値 ; 条件 更新処理 ){  繰り返したい処理 }


(for文の例)
<?php
for($i=0;$i<10;$i++){
print("<p></p>");
}
?>

こんな使い方もできる
<?php
for($i=0;$i<10;$i++){
?>
<p>こんにちは世界!</p>
<?php
}
?>

  • while
 while( 条件式 ) {
 繰り返したい処理 }


(for文の例)
$i=1;
while( $i < 10) {
echo $i;
$i++1;
}


↓結果

 123456789

条件が成りたっているあいだ繰り返し処理をする。
インクリメントをうまく使う。
「$i++1」を忘れると無限ループ…。

  • インクリメント

 「カウンターである$iに1だけ追加する」
  $i=$i+1; →とてもよく使うので
  $i++;   →このように省略表記する

  • forとwhileどちらを使う???
基本的にはどちらでも良い。
forの方がコンパクトに書くことができる。

whileで使っている「$i=1;」(初期化)や、
「$i++1」(カウンター)を、forは一行にまとめられる。
 ↓
for ( $i=0 ; $i < 10 ; $i++ )

2014年10月25日土曜日

74日目|制作・PHP復習


今週はずっと自由課題に取り組んでいました。


課題の条件は

  1. HTML+PHP+MySQLを使うこと
  2. つまりデータベースと連携させたコンテンツを作ること 
  3. チームで制作すること

発表ではそれぞれのチームでプレゼンとやるのだとか。
それまでに仕上がるのか・・・。

今日学んだこと

PHPの復習メモ。


<?phpif ($i == 0) {
    echo 
"iは0に等しい";
} elseif (
$i == 1) {
    echo 
"iは1に等しい";
} elseif (
$i == 2) {
    echo 
"iは2に等しい";
}


switch ($i) {
    case 
0:
        echo 
"iは0に等しい";
        break;
    case 
1:
        echo 
"iは1に等しい";
        break;
    case 
2:
        echo 
"iは2に等しい";
        break;
}
?>

「break」を書かないと次の条件式に進んでしまう。
たとえば「1」と一致しても、次の「2」までやってしまうので注意。

javascriptでも出てきたswitch。
分岐を作ろうとすると、ついif〜else if〜....とif文ばかりになってしまう。
複雑な分岐の場合はswitchを使うと良さそう。

javascriptだとこうなる。
switch文 - 条件分岐 - JavaScript入門




2014年10月21日火曜日

73日目|久々の投稿

すっっっっっかり放置してしまいました。

日々の記録は完全に忘れてましたが、
スクールにはちゃんと通っております。
 
HTML、PHP&SQL、Javascriptと、ひととおり基礎授業が終わり・・・
応用編まで進んでいます。

ざっくりいえば
簡単なWEBサイトのマークアップとCSSによるデザインができる
Javascriptを使って動的なWEBサイトを作ることができる
簡単な掲示板(チャット)を作ることができる

訓練日数を数えてみたらこれだけありました。
全部でなんと86日。
  • 6月…11日
  • 7月…16日
  • 8月…16日
  • 9月…17日
  • 10月…19日
  • 11月…7日
あと3週間もすれば訓練終了となってしまいます。
就職活動を始めている人も何人かいるようです。

果たして、費やした時間に相当する程のスキルを身につけたのだろうか・・・。
やはり自宅学習している人と、そうでない人で差がついています。
自分はどちらかというと   ↑こっち側・・・。


2014年7月18日金曜日

?日目|条件分岐とフローチャート(JavaScript)

if文の構造

今日学んだこと


  • フローチャート

    紙とペンを使って書く練習をしました
  • 比較演算子
  • 条件分岐 if文

    こんなのを書きました。
    テキストボックスに入力した数字が、とある数で割り切れるか、割り切れないかを出すプログラム。
    「%」(余剰演算子)がはじめて出てきました。
    • <title>テスト</title>
      </head>

      <body>
          <script type="text/javascript">
              function keisan(a) {
                  var c = Number(a);
                  var hantei= "";
                  if(c % 100 == 0){
                      hantei="100で割り切れる";
                  }else if(c % 5 == 0 ){
                      hantei = "5で割り切れる";
                  }else{
                      hantei = "100でも5でも割り切れない"
                  }
                  document.getElementById("answer").innerHTML = hantei;
              }
          </script>
          <input type="text" id="num1">
          <input type="button" value="判定する" onclick="keisan(num1.value);">
          <br>答え
          <div id="answer"></div>
      </body>
      </html>
その他メモ

if構文に慣れる練習。

単語がスムーズに頭に入りません。

メソッド、クラス、とか。
この辺りをちゃんと覚えてないのはやばい。
「今のはどういう意味だっけ?」と考えてるうちに授業が先に進んでしまう。


変数、パラメータ(引数)くらいは分かるようになってきました。

function...?
var...?













2014年7月9日水曜日

16日目|CSSの書き方 復習

プログラミングを学ぶ講座ですが、CSSについても勉強しました。
使ってないと忘れてしまうので復習。


  • 書き方が3通り
  1. HTMLファイル内に書く→<head>〜</head>
  2. HTMLタグに直接記述
  3. 外部ファイルに出す→おすすめ


  • 2種類の要素
    • ブロックレベル要素
       例:<p>,<h1>,<li>,<div>など
       これらは段落を形成する。
    • インライン要素
       例:<a>,<b>,<strong>,<span>など
       リンクや強調するときなどに一部分のパーツとして使う。 ブロックレベル要素の内部で使用してこそインラインになる。


ちなみに強調を表す<b>要素の使用は好ましくない。
マークアップのルール上、正しいのは<strong>。
検索エンジン対策的にもこっちの方が良い。
この辺りに詳しい。

i, b, em, strong 要素
多くの HTML4 の要素が変更されることなくそのまま HTML5 にもたらされたが、いくつかの装飾的な要素にはセマンティックな意味が与えられた。
<i> と <b> を、意味的にはっきりとしている <em> と <strong>と見比べてみよう。要約すると:
  • <i> — イタリックだったが、今は“代替の声”を表すテキストになった。外国の単語、技術用語、印刷慣例でイタリック体で表されるテキストなどだ。(W3C:MarkupWHATWG)
  • <b> — ボールドだったが、今は“意味的に区別したい”テキストになった。キーワード、印刷慣例で太字で表されるテキストなどだ。 (W3C:MarkupWHATWG)
  • <em> — 単なる強調だったが、今は強勢になった。つまり、トーンを変えて言いたいようなものに使うのだ。(W3C:MarkupWHATWG)
  • <strong> — さらに強い強調を表していたが、今は強い重要性を表す。基本的には同じだ。(ネストすることで、さらに強い強調や重要性を示すことができるようになった。)(W3C:Markup,WHATWG)

(引用先:html5.jp)

<b>は今は死後になった?掲示板投稿でお世話になった気がする。
当時は文字が太くなるだけでも面白くて、いろいろ使って遊んでいました。

関係ないけどフォントの話。
WindowsのMSフォントは汚い・・・。
個人的にメイリオは好きなんだけど。
Macの人はOSAKAやヒラギノがあって幸せ。
Linuxには「IPA」というオープンソースのフォントがあるらしい。

Windows上でWebページを見ると、
行と行の間の空白、いわゆる行間がとても狭い。
(MSフォントの性質なのか?Windowsの性質なのか?)

CSSでline-height: 1.5くらいにしといて読みやすくしておくとgood。
デフォは「normal」、単位をつけなければ1.5→1.5emと認識される。



2014年7月7日月曜日

15日目|form(HTML)

今日学んだこと

  • コマンドプロンプト(ネットワークの調査)

    単語:ホップ数 TTL
  • FireFoxのアドオン
  • Fire bug 
  • html Validator
  • FireGestures
  • Tab Mix Plus



その他メモ
Windowsコマンド集(機能別一覧):日経Windowsプロ/ITpro

少し記録をサボってしまいました。
ちゃんと数えたら今日で15日目。

毎日頭に知識を詰め込んでいるおかげで、先月の自分と比べて、賢く(?)なっているような気分になります。
実際にはたくさん忘れているので危険です。

それでも新しいことを覚えるのは楽しいです。

そういえば、
最近読んだ本に書いてありました。
“「勉強している」という事実になんとなく安心しているだけだとしたら、それは明らかな死に銭(時間とお金の浪費)です”

マジか・・・。


振り返ったときに、自己満足ではなく自己投資だったと思える日々にしたいです。




ブログの書き方がバラバラだったので統一することにしました。

授業で学んだことは
今日学んだこと→ここに書きます

あとの個人的なメモや気になったこと、記しておきたいリンク先は
その他メモ→ここに書きます


HTMLを学んだのだから全てタグを打って書けそうな感じですが、
時間的に無理なので、bloggerのテキストエディタに頼っています。