春も終わりに近づいて。

4月も最後の週になりました。
社会人になるぞなるぞ!!とハラハラドキドキしながら過ごした3月より、ずっと早くすぎていったような気がします…
振り返ってみると、土日のありがたみを凄く感じることができたような気がします。
もうすぐで、社会人になって初めてのGWがやってきます。
テンションがあがっちゃって、予定を組みまくったのですが、どこまで実行できるのかは不明です。
ただ休息することも必要ですよね…

さて、本日の感想と授業内容です。

☆本日のメニュー☆
  1. PHP vol.15
  2. DB Vol.6

授業感想



PHP vol.15

今日は前回の実践に引き続き、HTML文書内にPHPを組み込んだものを書きました。
今日解ったことはテーブル要素がHTML文書内だけなら難なく処理できるのですが、PHP文書の中に組み込もうすると、ごちゃごちゃになりがちです…
順を追うことをあきらめてしまい、行き当たりばったりに突っ込もうとする特攻心がうずいてしまうようです。いけませんね!ぐっとこらえて、じっくり追うことをあきらめないようにしようと思います。
POSTとGETについてはまだ感覚のレベルですが、解ってきた気がします。
とにもかくにも、実際に自分が書いたものがブラウザに表示されてポチポチ動かすと動くっていうことにいちいち感動を覚えている毎日です。

DB Vol.6

今までのテストをやりました!!結果は…惨敗です…
まだちゃんと復習しきれていなかったのが原因だったようです。本の通りに書いて満足している節が多かったと思います。
自分で考えて書くと言う練習をしなければ身にならないことを実感した日でした。
大の負けず嫌いな自分がうずいてしまい、今凄く悔しい思いなので、復習してしっかり身につけてやろうと思います。
まずは今日のテストの解き直しからやっていきます。

PHP vol.13,14

【授業内容】
POSTとGET
formを使って九九の表を作る。


○GETとPOST

<html>
<head>
<title>POSTとGETを使ってみる</title>
</head>
<body>

<form action="./jugyou.090427.php" method="POST">
<input type="text" name="test" />
<input type="submit" value="POSTで送信" />
</form>

<form action="./jugyou.090427.php" method="GET">
<input type="text" name="test" />
<input type="submit" value="GETで送信" />
</form>


<?php
     echo $_POST['test'];
echo $_GET['test'];
?>
</body>
</html>

※$_POSTや$_GETのことをスーパーグローバル変数という。(必ず大文字で書くこと)



○formを使って九九の表を作る。
※ただし、文字列やマイナス値(0含む)が入力された場合は、エラーメッセージが表示されるようにすること。

html>
<head>
<title>かけ算を表示させてみる</title>
</head>
<body>

<form action="./jugyou.090427_2.php" method="POST">
<input type="text" name="test" />×<input type="text" name="test2" />
<input type="submit" value="送信" />
</form>
<table border="5">


<?php

     if(!is_numeric($_POST["test"]) || !is_numeric($_POST["test2"])){
         echo "文字が入力されています。";
     }elseif($_POST['test']<=0 || $_POST['test2']<=0){
         echo "どちらかの値がマイナスまたは0です";
     }else{
     for($i = 1;$i<=$_POST['test'];$i++){
         echo "<tr><th>".$i."の段</th>";
         for($j = 1;$j<=$_POST['test2'];$j++){
             echo "<td>".$i."×".$j."=".($i*$j)."</td>";
         }
         echo "</tr>";
     }
     }

?>
</table>

</body>
</html>

※前回の授業で作った九九の応用編。
関数【is_numeric】を使って、数字以外のものをはじくようにする。
この関数を探し出すのにちょっと苦戦。速く正確に検索できるようになりたいです。


DataBase vol.5

【授業内容】
復習テスト
レコードを1件追加する
レコードを更新する

○復習テスト

☆社員テーブル(Employees)からBMI指数が10.0以上のBMI指数と、社員名を取り出しなさい。

SELECT
EmployeeName AS "従業員名"
, Weight / (Height/100) * (Height/100) AS "BMI指数"
FROM
Employees
WHERE
Weight / (Height/100) * (Height/100) >=10.0
;

☆売上テーブル(Sales)から、2007年度の商品売上個数の合計を社員ごとに社員IDと商品売上個数を取り出しなさい。

SELECT
EmployeeID AS "従業員ID"
,SUM(Quantity) AS "商品売上個数"
FROM
Sales
WHERE
SaleDate  BETWEEN "2007-01-01" AND "2008-12-31 23:59"
GROUP BY
EmployeeID
;


☆顧客テーブル(Customers)から東京都23区や、その他の地区に所在する顧客を都道府県ごとに取り出しなさい。
ただし取り出した際の表示は顧客名の降順とする。

SELECT
CustomerName AS "顧客名"
,Address AS "住所"
FROM
Customers
GROUP BY
PrefecturalID
ORDER BY
CustomerName DESC
;

☆商品テーブル(Products)から商品カテゴリごとに価格が200円以上の商品の価格合計を求めなさい、ただし、商品名の最後が"ー"や"〜"で終わるものを含めてはいけない。

SELECT
ProductName AS "商品名"
,SUM(Price) AS "価格合計"
FROM
Products
WHERE
Price >= 200
GROUP BY
CategoryID
HAVING
ProductName NOT LIKE "%ー%"
OR ProductName NOT LIKE "%〜%"
;


☆社員テーブル(Employees)から年齢の合計を、血液型ごとに取り出しなさい。但し、社員名の二文字目が"ー"である人を含んではいけない。また社歴が長い人を順に並べ替えなさい。取り出しは社員ID、社員名、メールアドレスの3つとする。

SELECT
SUM(2009 - HireFiscalYear)
FROM
Employees
WHERE
EmployeeName NOT LIKE "_ー%"
GROUP BY
BloodType
ORDER BY
SUM(2009 - HireFiscalYear) DESC
;

○レコードを1件追加する。

☆テーブルSalesにデータを追加する。

NSERT
INTO Sales
(
SaleID
,Quantity
,CustomerID
,ProductID
,EmployeeID
,SaleDate
)
VALUES
(
1006
,10
,1
,40
,31
,'2007-09-10'
)
;

SELECT
SaleDate
FROM
Sales
;

○レコードを更新する。

☆テーブルEmployeesのEmailを***@nekoyasudoから***@nekoyasudo.co.jpに変更しなさい。

UPDATE
Employees
SET
Email = CONCAT(Email,'.co.jp')
;




以上、今日の授業でした。