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 = mysql_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 = mysql_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>