PHPからDBにある書籍情報を取得し、セッションへ保存 – カート追加画面
[ファイル] insertIntoCart.php
[挿入場所] <!DOCTYPE html>
の前
<?php
//セッション利用
session_start();
//データベース接続用ファイルを読み込む
require_once("dbprocess.php");
//GETデータを取得する
$isbn = $_GET["isbn"];
//ISBN番号の書籍情報を取得するSQL文を用意
$sql = "SELECT * FROM bookinfo WHERE isbn = '{$isbn}'";
//SQL文を発行し、結果セットを取得
$result = executeQuery($sql);
//結果セットから書籍情報を取得
$row = mysqli_fetch_assoc($result);
//セッションに書籍情報の追加
$_SESSION['cartInfo'][] = $row;
?>
取得した情報をHTMLとして出力 – カート追加画面
[ファイル] insertIntoCart.php
[挿入場所] <table>
タグと入れ替え
<table>
<tr>
<th>ISBN</th>
<td><?php echo $row['isbn']; ?></td>
</tr>
<tr>
<th>TITLE</th>
<td><?php echo $row['title']; ?></td>
</tr>
<tr>
<th>価格</th>
<td><?php echo $row['price']; ?>円</td>
</tr>
</table>
カート内容画面 完成ソースコード
[ファイル] showCart.php
[挿入場所] showCart.phpファイルのソースコードと入れ替え
<?php
//セッション利用
session_start();
//削除行番号が押された場合
if (isset($_GET['delno'])) {
//指定の削除行番号のデータをセッションから削除する
unset($_SESSION['cartInfo'][$_GET['delno']]);
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="css/reset.css">
<link rel="stylesheet" type="text/css" href="css/main.css">
<title>カート内容ページ | 書籍販売システム</title>
</head>
<body>
<div id="container">
<header class="clearfix">
<div class="title">
<h1>書籍販売システム</h1>
</div>
<div class="search">
<form action="search.php">
<p class="keyword">
<input type="text" name="title" placeholder="検索したい書籍タイトルを入力" value="">
</p>
<p class="submit">
<input type="submit" value="検索">
</p>
</form>
</div>
</header>
<nav id="menu">
<ul class="clearfix">
<li><a href="list.php">書籍一覧</a></li>
<li><a href="insert.php">書籍登録</a></li>
<li class="active"><a href="showCart.php">カート内容を確認</a></li>
<li><a href="orderStatus.php">購入状況確認</a></li>
</ul>
</nav>
<h2>カート内容</h2>
<div id="showCart">
<table>
<tr>
<th>ISBN</th>
<th>TITLE</th>
<th>価格</th>
<th></th>
</tr>
<?php
//合計金額
$total = 0;
if (!empty($_SESSION['cartInfo'])) {
foreach($_SESSION['cartInfo'] as $key => $val){
$total += $val['price'];
?>
<tr>
<td><?php echo $val['isbn']; ?></td>
<td> <?php echo $val['title']; ?></td>
<td><?php echo $val['price']; ?>円</td>
<td><a href="showCart.php?delno=<?php echo $key; ?>" class="delete">削除</a></td>
</tr>
<?php
} //foreach終わり
} //if終わり
?>
</table>
<div class="sum">
合計:<?php echo $total; ?>円
</div>
<form action="buyConfirm.php" method="post">
<input type="submit" value="購入" class="button">
</form>
</div>
<footer>
<p class="copyright">Copyright © all rights reserved.</p>
</footer>
</div>
</body>
</html>
購入品確認画面 完成ソースコード
[ファイル] buyConfirm.php
[挿入場所] buyConfirm.phpファイルのソースコードと入れ替え
<?php
//セッション利用
session_start();
//データベースプロセスファイルを読み込む
require_once("dbprocess.php");
//合計金額を求める変数を用意
$total = 0;
//セッションにあるデータ分だけ繰り返す
foreach($_SESSION['cartInfo'] as $val){
//ISBN番号を取得
$isbn = $val['isbn'];
//購入書籍情報を登録するSQL文を用意
$sql = "INSERT INTO orderinfo values(null,'{$isbn}', now())";
//SQL文を発行
executeQuery($sql);
//合計金額を求める
$total += $val['price'];
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="css/reset.css">
<link rel="stylesheet" type="text/css" href="css/main.css">
<title>購入品確認ページ | 書籍販売システム</title>
</head>
<body>
<div id="container">
<header class="clearfix">
<div class="title">
<h1>書籍販売システム</h1>
</div>
<div class="search">
<form action="search.php">
<p class="keyword">
<input type="text" name="title" placeholder="検索したい書籍タイトルを入力" value="">
</p>
<p class="submit">
<input type="submit" value="検索">
</p>
</form>
</div>
</header>
<nav id="menu">
<ul class="clearfix">
<li><a href="list.php">書籍一覧</a></li>
<li><a href="insert.php">書籍登録</a></li>
<li><a href="showCart.php">カート内容を確認</a></li>
<li><a href="orderStatus.php">購入状況確認</a></li>
</ul>
</nav>
<h2>購入品確認</h2>
<div id="buyConfirm">
<p>下記の書籍の購入が完了しました。</p>
<table>
<tr>
<th>ISBN</th>
<th>TITLE</th>
<th>価格</th>
</tr>
<?php
foreach ($_SESSION['cartInfo'] as $val) {
?>
<tr>
<td><?php echo $val['isbn']; ?></td>
<td><?php echo $val['title']; ?></td>
<td><?php echo $val['price']; ?>円</td>
</tr>
<?php
}
//カート情報を破棄
unset($_SESSION['cartInfo']);
?>
</table>
<div class="sum">
合計:<?php echo $total; ?>円
</div>
</div>
<footer>
<p class="copyright">Copyright © all rights reserved.</p>
</footer>
</div>
</body>
</html>
購入状況画面 完成ソースコード
[ファイル] orderStatus.php
[挿入場所] orderStatus.phpファイルのソースコードと入れ替え
<?php
//データベース接続用ファイルを読み込む
require_once("dbprocess.php");
//購入書籍情報を全件取得するSQL文を用意
$sql = "SELECT b.title, o.orderno, o.date FROM orderinfo o inner join bookinfo b on o.isbn = b.isbn";
//SQL文を発行し、結果セットを取得
$result = executeQuery($sql);
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="css/reset.css">
<link rel="stylesheet" type="text/css" href="css/main.css">
<title>購入状況ページ | 書籍販売システム</title>
</head>
<body>
<div id="container">
<header class="clearfix">
<div class="title">
<h1>書籍販売システム</h1>
</div>
<div class="search">
<form action="search.php">
<p class="keyword">
<input type="text" name="title" placeholder="検索したい書籍タイトルを入力" value="">
</p>
<p class="submit">
<input type="submit" value="検索">
</p>
</form>
</div>
</header>
<nav id="menu">
<ul class="clearfix">
<li><a href="list.php">書籍一覧</a></li>
<li><a href="insert.php">書籍登録</a></li>
<li><a href="showCart.php">カート内容を確認</a></li>
<li class="active"><a href="orderStatus.php">購入状況確認</a></li>
</ul>
</nav>
<h2>購入状況</h2>
<div id="orderStatus">
<table>
<tr>
<th>オーダー番号</th>
<th>TITLE</th>
<th>日付</th>
</tr>
<?php
while ($row = mysqli_fetch_assoc($result)) {
?>
<tr>
<td><?php echo $row['orderno']; ?></td>
<td><?php echo $row['title']; ?></td>
<td><?php echo $row['date']; ?></td>
</tr>
<?php
}
?>
</table>
</div>
<footer>
<p class="copyright">Copyright © all rights reserved.</p>
</footer>
</div>
</body>
</html>