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週間もすれば訓練終了となってしまいます。
就職活動を始めている人も何人かいるようです。

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