9)作成したデータベースで各種結合を行ってみる。
  ①商品メーカ表とメーカ表を結合してみる。
  商品メーカテーブル
(productMaker_tbl)
   メーカテーブル(maker)
 

ID
(id)

商品コード
(productId)
メーカID
(makerId)
101
102
103
104
105
 
ID
(id)
メーカー名
(makerName)
株式会社トンボ鉛筆
三菱鉛筆株式会社
株式会社サクラクレパス
株式会社パイロットコーポレーション
 

商品メーカテーブル (productMaker_tbl)のメーカID (makerId)と
メーカテーブル(maker)のID (id)を関連させ結合させて以下の表を作る。

  ↓結合による表示
  [id],[商品コード],[メーカ名]の表示
ID 商品コード メーカ名
1 101 株式会社トンボ鉛筆
2 102 三菱鉛筆株式会社
3 103 株式会社サクラクレパス
4 104 三菱鉛筆株式会社
5 105 株式会社パイロットコーポレーション

  ファイル名:puroductMakerDisp1.php
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>[id],[商品コード],[メーカ名]の表示</title>
</head>
<body>
<?php
echo "[id],[商品コード],[メーカ名]の表示<br>\n";
$conn=mysqli_connect('localhost','******','******');
mysqli_select_db($conn,'product_db');
$sql="*******************************************************";
if($result=mysqli_query($conn,$sql)){
if(mysqli_num_rows($result)!=0){
echo "<table border=\"1\">\n";
echo "<tr><td>ID</td><td>商品コード</td><td>メーカ名</td></tr>\n";
while($row=mysqli_fetch_array($result,MYSQL_ASSOC)){
echo "<tr>\n";
echo "<td style=\"text-align:right;\">{$row['id']}</td>\n
<td style=\"text-align:right;\">{$row['productId']}</td>\n
<td>{$row['makerName']}</td>\n";
echo "</tr>\r\n";
}
echo "</table>\n";
}
}
else{
echo "条件に合ったデータは存在しません<br>\n";
}
mysqli_close($conn);
?>
</body>
</html>

  ② 商品メーカ表とメーカ表、商品表を結合してみる。

  商品メーカテーブル
(productMaker_tbl)
  メーカテーブル(maker_tbl)   商品テーブル(product_tbl)
 

ID
(id)

商品コード
(productId)
メーカID
(makerId)
101
102
103
104
105
 
ID
(id)
メーカー名
(makerName)
株式会社トンボ鉛筆
三菱鉛筆株式会社
株式会社サクラクレパス
株式会社パイロットコーポレーション
 
ID
(id)
商品コード
(puroductId)
商品名
(productName)
101 消しゴム
102 鉛筆(HB)
103 消しゴム
104 鉛筆(H)
105 シャープペンシル
 

商品メーカテーブル (productMaker_tbl)のメーカID (makerId)と メーカテーブル(maker)のID (id)、
商品メーカテーブル (productMaker_tbl)の商品コード (productId)と商品テーブル(product_tbl)の商品コード(puroductId)を
関連させ結合させて以下の表を作る。

  ↓結合による表示
  [id],[商品コード],[商品名],[メーカ名]の表示
ID 商品コード 商品名 メーカ名
1 101 消しゴム 株式会社トンボ鉛筆
2 102 鉛筆(HB) 三菱鉛筆株式会社
3 103 消しゴム 株式会社サクラクレパス
4 104 鉛筆(H) 三菱鉛筆株式会社
5 105 シャープペンシル 株式会社パイロットコーポレーション
 

   ファイル名:puroductMakerDisp1.php
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>[id],[商品コード],[商品名],[メーカ名]の表示</title>
</head>
<body>
<?php
echo "[id],[商品コード],[商品名],[メーカ名]の表示<br>\n";
$conn=mysqli_connect('localhost','*******','******');
mysqli_select_db($conn,'product_db');
$sql="*****************************************************************************************";
if($result=mysqli_query($conn,$sql)){
if(mysqli_num_rows($result)!=0){
echo "<table border=\"1\">\r\n";
echo "<tr><td>ID</td><td>商品コード</td><td>商品名</td><td>メーカ名</td></tr>\n";
while($row=mysqli_fetch_array($result,MYSQL_ASSOC)){
echo "<tr>\n";
echo "<td style=\"text-align:right;\">{$row['id']}</td>\n
<td style=\"text-align:right;\">{$row['productId']}</td>\n
<td>{$row['productName']}</td>\n
<td>{$row['makerName']}</td>\n";
echo "</tr>\n";
}
echo "</table>\n";
}
}
else{
echo "条件に合ったデータは存在しません<br>\n";
}
mysqli_close($conn);
?>
</body>
</html>

 10)上記の9)の①、②を「JOIN」を使わずに実現してください。
 11)商品テーブルを基準に単価と在庫数を表す表を作ってください。
 12)「表1」を作るプログラムを作ってください。
   <答え>ファイル名:figuer1Disp.php

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>表1の表示</title>
</head>
<body>
<?php
echo "表1の表示<br>\n";
$conn=mysqli_connect('localhost','******','******');
mysqli_select_db($conn,'product_db');
$sql="*************************************************************************************************";
if($result=mysqli_query($conn,$sql)){
if(mysqli_num_rows($result)!=0){
echo "<table border=\"1\">\r\n";
echo "<tr><td>ID</td>
<td>商品コード</td>
<td>商品名</td>
<td>単価</td>
<td>在庫数</td>
<td>メーカ名</td></tr>\n";
while($row=mysqli_fetch_array($result,MYSQL_ASSOC)){
echo "<tr>\n";
echo "<td style=\"text-align:right;\">{$row['id']}</td>\n
<td style=\"text-align:right;\">{$row['productId']}</td>\n
<td>{$row['productName']}</td>\n
<td style=\"text-align:right;\">{$row['unitPrice']}</td>\n
<td style=\"text-align:right;\">{$row['stockNumber']}</td>\n
<td>{$row['makerName']}</td>\n";
echo "</tr>\n";
}
echo "</table>\n";
}
}
else{
echo "条件に合ったデータは存在しません<br>\n";
}
mysqli_close($conn);
?>
</body>
</html>