PHP,DB

PHP
□POST
□GET

■DB
□レコードを1件追加する
□レコードを更新する

今日は、月曜日。今日は初めて一番に出社しました。早起きは三文の徳とは言いますが、確かに今日は朝から調子が良い気がします。なかなか早起きが苦手な私ですが、早起き習慣ついたらいいなぁって思ってます。



PHP
フォームを作成する際に、つけるmethod属性はWebサーバにデータを送る形式を指定します。
その時の属性値にPOSTとGETがあります。このふたつの違いは通常、POSTは情報量が多いものに使います。GETの大きな特徴は、情報がURLに送信されるということ。つまり、URLに直接書いても送れるんですよ。

ちなみに、今日は九九の段をフォームで書いて、入力した数字に対応した九九の表を作りました。
文字、マイナスの数字を入力した場合はエラーになるようにしました。

<html>
<head>
<title>九九をPOSTで表示</title>
</head>
<body>

<p>九九のかけ算</p>

<form acton="./php0427-1.php" method="POST">
<input type="text" name="test"/>×
<input type="text" name="test2"/>
<input type="submit"/ value="計算結果">
</form>

<table border="5">
<?php
   $f=$_POST['test'];
   $b=$_POST['test2'];

if(!is_numeric($f) || !is_numeric($b)){
  echo "文字は使えません。";
}

elseif($f<0 || $b<0){
  echo "マイナスは使えません。";
}
elseif($f==0 ||$b==0){
  echo "0は使えません";
}

else{

for($i=1;$i<$f+1;$i++){
  echo '<tr>';
  echo '<td>';
  echo $i."の段";
  echo '</td>';
  for($j=1;$j<$b+1;$j++){
    echo '<td>';
    echo $i."×".$j."=".($i*$j);
    echo '</td>';
}
  echo '</tr>';
}

}

?>
</table>
</body>
</html>



■DB
□復習テスト
Q1、社員テーブルからBMI指数が10.0以上のBMI指数と、社員名を取り出しなさい。

SELECT
 EmployeeName AS "社員名"
,weight/(height/100)/(height/100) AS "BMI"
FROM
 Employees
WHERE
 weight/(height/100)/(height/100)>=10
;

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

SELECT
 EmployeeID AS "社員ID"
,SUM(Quantity)
FROM
 Sales
WHERE
 '2007-1-1'<= SaleDate 
AND 
 SaleDate < '2008-1-1'
GROUP BY
 EmployeeID
;

Q3、顧客テーブルから東京都23区や、その地区に所在する顧客を都道府県ごとに取り出しなさい。

SELECT
 PrefecturalID AS "都道府県"
,CustomerName AS "顧客名"
,Address AS "住所"
FROM
 Customers

WHERE
 Address LIKE "%区%"

GROUP BY
 PrefecturalID


ORDER BY
 CustomerName DESC
;

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

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

□レコードを1件追加する
INSERT
INTO テーブル名[ カラム名[,...] ]
VALUES (値/式[,...])

□レコードを更新する
UPDATE
テーブル名
SET
カラム名 = 値/式[,...]


PHP
□POST
□GET

■DB
□レコードを1件追加する
□レコードを更新する



PHP
フォームを作成する際に、つけるmethod属性はWebサーバにデータを送る形式を指定します。
その時の属性値にPOSTとGETがあります。このふたつの違いは通常、POSTは情報量が多いものに使います。GETの大きな特徴は、情報がURLに送信されるということ。つまり、URLに直接書いても送れるんですよ。

ちなみに、今日は九九の段をフォームで書いて、
入力した数字に対応した九九の表を作りました。
文字、マイナスの数字を入力した場合はエラーになるようにしました。

<html>
<head>
<title>九九をPOSTで表示</title>
</head>
<body>

<p>九九のかけ算</p>

<form acton="./php0427-1.php" method="POST">
<input type="text" name="test"/>×
<input type="text" name="test2"/>
<input type="submit"/ value="計算結果">
</form>

<table border="5">
<?php
   $f=$_POST['test'];
   $b=$_POST['test2'];

if(!is_numeric($f) || !is_numeric($b)){//numeric 数値と数値形式の文字列をtrue
  echo "文字は使えません。";
}

elseif($f<0 || $b<0){
  echo "マイナスは使えません。";
}
elseif($f==0 ||$b==0){
  echo "0は使えません";
}

else{

for($i=1;$i<$f+1;$i++){
  echo '<tr>';
  echo '<td>';
  echo $i."の段";
  echo '</td>';
  for($j=1;$j<$b+1;$j++){
    echo '<td>';
    echo $i."×".$j."=".($i*$j);
    echo '</td>';
}
  echo '</tr>';
}

}

?>
</table>
</body>
</html>



■DB
□復習テスト
Q1、社員テーブルからBMI指数が10.0以上のBMI指数と、社員名を取り出しなさい。

SELECT
 EmployeeName AS "社員名"
,weight/(height/100)/(height/100) AS "BMI"
FROM
 Employees
WHERE
 weight/(height/100)/(height/100)>=10
;

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

SELECT
 EmployeeID AS "社員ID"
,SUM(Quantity)
FROM
 Sales
WHERE
 '2007-1-1'<= SaleDate 
AND 
 SaleDate < '2008-1-1'
GROUP BY
 EmployeeID
;

Q3、顧客テーブルから東京都23区や、その地区に所在する顧客を都道府県ごとに取り出しなさい。

SELECT
 PrefecturalID AS "都道府県"
,CustomerName AS "顧客名"
,Address AS "住所"
FROM
 Customers

WHERE
 Address LIKE "%区%"

GROUP BY
 PrefecturalID


ORDER BY
 CustomerName DESC
;

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

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

□レコードを1件追加する
INSERT
INTO テーブル名[ カラム名[,...] ]
VALUES (値/式[,...])

□レコードを更新する
UPDATE
テーブル名
SET
カラム名 = 値/式[,...]


PHP
□POST
□GET

■DB
□レコードを1件追加する
□レコードを更新する



PHP
フォームを作成する際に、つけるmethod属性はWebサーバにデータを送る形式を指定します。
その時の属性値にPOSTとGETがあります。このふたつの違いは通常、POSTは情報量が多いものに使います。GETの大きな特徴は、情報がURLに送信されるということ。つまり、URLに直接書いても送れるんですよ。

ちなみに、今日は九九の段をフォームで書いて、
入力した数字に対応した九九の表を作りました。
文字、マイナスの数字を入力した場合はエラーになるようにしました。

<html>
<head>
<title>九九をPOSTで表示</title>
</head>
<body>

<p>九九のかけ算</p>

<form acton="./php0427-1.php" method="POST">
<input type="text" name="test"/>×
<input type="text" name="test2"/>
<input type="submit"/ value="計算結果">
</form>

<table border="5">
<?php
   $f=$_POST['test'];
   $b=$_POST['test2'];

if(!is_numeric($f) || !is_numeric($b)){//numeric 数値と数値形式の文字列をtrue
  echo "文字は使えません。";
}

elseif($f<0 || $b<0){
  echo "マイナスは使えません。";
}
elseif($f==0 ||$b==0){
  echo "0は使えません";
}

else{

for($i=1;$i<$f+1;$i++){
  echo '<tr>';
  echo '<td>';
  echo $i."の段";
  echo '</td>';
  for($j=1;$j<$b+1;$j++){
    echo '<td>';
    echo $i."×".$j."=".($i*$j);
    echo '</td>';
}
  echo '</tr>';
}

}

?>
</table>
</body>
</html>



■DB
□復習テスト
Q1、社員テーブルからBMI指数が10.0以上のBMI指数と、社員名を取り出しなさい。

SELECT
 EmployeeName AS "社員名"
,weight/(height/100)/(height/100) AS "BMI"
FROM
 Employees
WHERE
 weight/(height/100)/(height/100)>=10
;

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

SELECT
 EmployeeID AS "社員ID"
,SUM(Quantity)
FROM
 Sales
WHERE
 '2007-1-1'<= SaleDate 
AND 
 SaleDate < '2008-1-1'
GROUP BY
 EmployeeID
;

Q3、顧客テーブルから東京都23区や、その地区に所在する顧客を都道府県ごとに取り出しなさい。

SELECT
 PrefecturalID AS "都道府県"
,CustomerName AS "顧客名"
,Address AS "住所"
FROM
 Customers

WHERE
 Address LIKE "%区%"

GROUP BY
 PrefecturalID


ORDER BY
 CustomerName DESC
;

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

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

□レコードを1件追加する
INSERT
INTO テーブル名[ カラム名[,...] ]
VALUES (値/式[,...])

□レコードを更新する
UPDATE
テーブル名
SET
カラム名 = 値/式[,...]


今日のテストはQ2以外は全部とけました。晴れて3問正解したので、ご褒美のプリンを頂きました。
Q2の日にちの特定の仕方が難しかったです。