連休明け、生憎の雨模様。

GWがあけました!今日からまた新しいことを頭に詰め込んであげる日々が始まります。

長いお休みの後はいつもちょっと切ない気分になるのですが、天気まで生憎だと、なかなかテンションがあがらないものですね…
でも、逆にゆったりと時間が流れてるような気分になって、落ち着いて休み明けを迎えられたと思います。

…なんて、とりあえず、休み前に決めた自分ルールを守ってみました。(「マイナス思考をできるだけプラス思考に変える」)
できているかどうかは謎として、とにかくマイナスな言葉は使わないようにしてます!!
あがれ、自分のテンション!!!

さて。久しぶりになりますが、本日の感想と授業ノートです。

☆本日のメニュー☆
  1. DB vol.7
  2. PHP vol.17

授業感想


DB vol.7

連休明け最初の授業はDBでした。
今日は前回(といってもかなり前になりますが)に引き続きレコードを更新することと、新しくレコードを削除することをやりました。とにかくおっかなびっくり感がとれません;
トランザクションのやり方を教えていただけたので、前回の授業よりは格段安心感が増したのですが、まだレコードの内容を書き換えてしまう行為は、正直怖いです。これからバックアップの大切さと確認作業の大切さを実感していくことになるでしょう。
授業自体はゆっくりペースだったので、パニックになることなく、一つ一つの処理を確認しながら、落ち着いて受けることができました!やる問題も選ばせてもらえて…迷わず一番簡単なものを選ばせてもらいました^^何事も最初は簡単なものから慣れたいもので…
自習時間を使って、だんだん難しい問題に挑戦していこうと思います。


PHP vol.17

今日は休み明けテストをしました。前回やったテストの改訂版、ということで、前回解いた問題が多少含まれていたのですが、
テンパりすぎて、謎なコードを書いてしまったり書き方をど忘れしたりと、切ない結果になってしまいました。
あとになって、落ち着いてゆっくり解くと、「なんだ、簡単なことだったんだ…」と思い、自分にがっかりです;;
人間テンパると、不可思議なものを生み出しがちなようです。
授業後できなかったところは再度解き直し、以下の授業ノートに載せておきます。
とにかく、要復習なのは、HTMLのフォーム要素を含んだものと配列でしょう!復習時間に確認していこうと思います。



授業ノート


DB vol.7

【授業内容】
特定のレコードを更新する
レコードを削除する

○特定のレコードを更新する

☆問題1テーブルEmployees、EmployeeID=10のHeightを+5しなさい。

UPDATE
Employees
SET
Height=Height+5
WHERE
EmployeeID=10
;

☆問題2テーブルSalary、EmployeeID=5、PayDate='2007-03-25'のAmountを+20000しなさい。

UPDATE
Salary
SET
Amount = Amount +20000
WHERE
EmployeeID=5
AND
PayDate='2007-03-25'
;

☆問題3テーブルEmployees、BloodType='AB'のHeightを-2、Weightを+3しなさい。

UPDATE
Employees
SET
Height = Height -2
AND
Weight = Weight +3
WHERE
BloodType = 'AB'
;

○レコードを削除する

☆問題1テーブルBelongToのレコードを全て削除しなさい。

DELETE
FROM
BelongTo
;

☆問題3テーブルSalesのレコードを全て削除しなさい。

Delete
FROM
Sales
;

☆問題2テーブルCustomersのレコードを全て削除しなさい。

DELETE
FROM
Customers
;

☆問題4テーブルProductsのレコードを全て削除しなさい。

DELETE
FROM
Products
;


PHP vol.17

【授業内容】
復習テスト第二弾


○復習テスト第二弾

問1:四則演算子を全て書きなさい

  1. ,-,/,*,%

問2:$aをインクリメントとデクリメントするプログラムを書きなさい

<?php
$i=1;
//前方インクリメント
++$i;
//後方インクリメント
$i++;
//前方デクリメント
--$i;
//後方デクリメント
$i--;
?>

問3:今まで勉強したデータ型を全て記述しないさい(5つ)
論理型(boolean)
整数(integer)
浮動小数点(float)
文字列(string)
配列(array)

問4:比較演算子を書きなさい(等しい、等しくない、以上、以下、未満、0より大きいの計6つの)
等しい ==
等しくない !
以上 >=
以下 <=
未満 <
^\0より大きい >

問5:10より大きければ「big」、10以下かつ5より大きければ「middle」、
5以下かつ1より大きければ「small」、それ以外は「unknown」と出力するプログラムを書きなさい。

<?php
    $i=10;
if($i>=10){
    echo "big";
}elseif($i<=10 && $i>5){
    echo "middle";
}elseif($i<=5 && $i>1){
    echo "small";
}else{
    echo "unknown";
}
?>

問6:1から10まで表示するプログラムをfor文を使って書きなさい

<?php
for($i=1;$i<=10;$i++){
    echo $i."\n";
}
?>

問7:問6のプログラムをwhileで置き換えてプログラムを書きなさい(無限ルームにならないように)

<?php
$i=0;
while($i<=10){
    if($i == 10){
        break;
    }
    $i++;
    echo $i."\n";
}
?>

問8:for文とif文を使い、偶数の場合は「nは偶数です」と出力し、奇数の場合は、「nは奇数です」と出力するプログラムを書きなさい

<?php
for($n=1; $n<=10;$n++){
    echo $n." ";
    if($n%2 == 0){
        echo "nは偶数です \n";
    }elseif($n%2 == 1){
        echo "nは奇数です \n";
    }
}
?>

問9:2の倍数を100まで表示するプログラムを書きなさい

<?php
for($i=1;$i<=100;$i++){
    if($i%2 == 0){
        echo $i." 2の倍数です \n";
    }else{
        echo $i."\n";
    }
}
?>

問10:2の倍数と3の倍数を100まで表示するプログラムを書きなさい(同じ倍数は2と3の倍数ですと表示)

<?php
for($i=1;$i<=100;$i++){
    if($i%2 == 0 && $i%3 == 0){
        echo $i." 2と3の倍数です \n";
    }elseif($i%2 == 0){
        echo $i." 2の倍数です \n";
    }elseif($i%3 == 0){
        echo $i." 3の倍数です \n";
    }else{
        echo $i."\n";
    }
}

?>

問11:配列の添字(キー名)はデフォルトはいくつから始まりますか?

0から始まる。

問12:配列を使い、学生10人分の点数を一気に出力するプログラムを書きなさい。

<?php
$student[]=array();
$student[]=array("eng"=>80,"math"=>90,"ja"=>95);
$student[]=array("eng"=>44,"math"=>55,"ja"=>98);
$student[]=array("eng"=>36,"math"=>56,"ja"=>88);
$student[]=array("eng"=>54,"math"=>57,"ja"=>99);
$student[]=array("eng"=>68,"math"=>77,"ja"=>96);
$student[]=array("eng"=>67,"math"=>57,"ja"=>46);
$student[]=array("eng"=>65,"math"=>54,"ja"=>35);
$student[]=array("eng"=>43,"math"=>36,"ja"=>64);
$student[]=array("eng"=>55,"math"=>77,"ja"=>66);
$student[]=array("eng"=>99,"math"=>30,"ja"=>90);

    foreach($student as $name => $subject){
        echo $name." ";
        foreach($subject as $testname => $point){
            echo $testname." ".$point." ";
        }
        echo "\n";
    }

?>

問13九九を表示するプログラムを書き、ブラウザに結果を表示できるように作成しなさい。

<html>
<head>
<title>九九</title>
</head>
<body>
<?php
    for($i=1;$i<=9;$i++){
        echo $i."の段 \n";
        for($j=1;$j<=9;$j++){
            echo $i."×".$j."=".$i*$j."\n";
    }
    }
?>
</body>
</html>


問14以下を表示するプログラムを書きなさい。(ブラウザに表示)
*+*
+*+
*+*

<html>
<head>
<title>表示する</title>
</head>
<body>
<?php
$i=1;
for($i=1;$i<=3;$i++){
    for($j=1;$j<=3;$j++){
        if($i*$j %2 ==1){
            echo "*";
        }else{
            echo"+";
    }
    }
    echo "\n";
}
?>
</body>
</html>


問15:2つのテキストボックスを用意し、入力された値を計算できるようなフォームを作成してください。(計算機の様なもの)
※後に編集する可能性有り。

<html>
<head>
<title>計算</title>
</head>

<body>
<h1>電卓</h1>
<form action="./test.090507.php" method="GET">
入力値1<input type="text" name="n1">
入力値2<input type="text" name="n2">

<input type="submit" value="+" name="keisan">
<input type="submit" value="-" name="keisan">
<input type="submit" value="×" name="keisan">
<input type="submit" value="÷" name="keisan">
</form>

<?php
    if(isset($_GET["keisan"])){
        if(!is_numeric($_GET["n1"]) || !is_numeric($_GET["n2"])){
            echo "文字または空欄が入力されています。";
            if($_GET["keisan"]=="+"){
                echo $_GET["n1"]."+".$_GET["n2"]."=".($_GET["n1"]+$_GET["n2"]);
        }elseif($_GET["keisan"]=="-"){
                echo $_GET["n1"]."-".$_GET["n2"]."=".($_GET["n1"]-$_GET["n2"]);
        }elseif($_GET["keisan"]=="×"){
                echo $_GET["n1"]."×".$_GET["n2"]."=".($_GET["n1"]*$_GET["n2"]);
        }elseif($_GET["keisan"]=="÷"){
                if($_GET["keisan"]<=0){
                    echo "割る数にマイナスが入っています";
                }
                echo $_GET["n1"]."÷".$_GET["n2"]."=".($_GET["n1"]/$_GET["n2"]);
        }
        }
    }
?>

</body>
</html>

☆問16:現在時刻を以下のように表示できるようなプログラムを作成してください。マニュアルを見ながらで構いません。
また、更新ボタンを押すと現在時刻も更新されること。
「2009年5月7日 12時29分」

<html>
<head>
<title>日付</title>
</head>
<body>
<?php
echo date("Y年m月d日 g時i分");
?>
</body>
</html>


以上、本日の授業でした!