ショッピングカートに商品を追加➀

商品の詳細情報を表示するページから、カートに商品を追加できるようにしてみましょう。

まずは商品一覧のページを作ってみましょう。

product.php

<?php require ‘header.php’; ?>
<form action=”product.php” method=”post”>
    商品検索
    <input type=”text” name=”keyword“>
    <input type=”submit” value=”検索”>
</form>
<hr>

検索キーワードのリクエストパラメータ名はkeywordとしました。
<?php
echo ‘<table>’;
echo ‘<tr><th>商品番号</th><th>商品名</th><th>価格</th></tr>’;
$pdo=new PDO(‘mysql:host=localhost;dbname=shop;
charset=utf8′,’staff’,’password’);
if(isset($_REQUEST[‘keyword’])){
    $sql = $pdo->prepare(‘select * from product where name like ?’);
    $sql ->execute([‘%’.$_REQUEST[‘keyword’].’%’]);
} else {
    $sql = $pdo ->query(‘select * from product’);
}

foreach ($sql as $row){
    $id = $row[‘id’];
    echo ‘<tr>’;
    echo ‘<td>’ ,$id, ‘</td>’;
    echo ‘<td>’;
    echo ‘<a href=”detail.php?id=’, $id, ‘“>’, $row[‘name’],'</a>’;
    echo ‘</td>’;
    echo ‘<td>’ , $row[‘price’], ‘</td>’;
    echo ‘</tr>’;
}
echo ‘</table>’;
?>
<?php require ‘footer.php’; ?>
データの表示を行う際に、リクエストパラメータに検索キーワードが含まれているときには、商品の検索を行います。

リクエストパラメータに検索キーワードが含まれたないときには、商品一覧を表示します。

上記ページで商品をクリックしたら、商品画像と各情報が表示されるページを作ります。

例えば5番のカシューナッツをクリックすると・・・

このような画面が表示されるようにします。

商品画像は、スクリプトを保存したフォルダ内に「image」というフォルダを用意し、その中に「商品番号.jpg」という名前で格納しました。

detail.php

<?php require ‘header.php’; ?>
<?php
$pdo = new PDO(‘mysql:host=localhost;dbname=shop;
charset=utf8′,’staff’,’password’);
$sql = $pdo->prepare(‘select * from product where id=?’);
$sql->execute([$_REQUEST[‘id’]]);
指定した商品番号を、select文で取得します。
?の部分に、リクエストパラメータで取得した商品番号を指定します。
実行には、executeメソッドを使います。
foreach($sql as $row){
   
   
foreachメソッドを使って処理し、商品情報を表示します。
変数$rowには、取得した商品テーブルの行が格納されています。
echo ‘<p><img alt=”image” src=”image/’,$row[‘id’],’.jpg”></p>’;
    echo ‘<form action=”cart-insert.php” method=”post”>’;
    echo ‘<p>商品番号;’, $row[‘id’], ‘</p>’;
    echo ‘<p>商品名;’, $row[‘name’], ‘</p>’;
    echo ‘<p>価格;’, $row[‘price’], ‘</p>’;
    echo ‘<p>個数:<select name=”count”>’;
    for ($i=1; $i<=10; $i++){
        echo ‘<option value=”‘,$i,'”>’,$i,'</option>’;
    }
    echo ‘</select></p>’;
商品の画像は<img>タグを使って表示します。
画像はimageフォルダに「画像番号.jpg」の形で格納されています。
echo ‘<input type=”hidden” name=”id” value=”‘,$row[‘id’],'”>’;
    echo ‘<input type=”hidden” name=”name” value=”‘,$row[‘name’],'”>’;
    echo ‘<input type=”hidden” name=”price” value=”‘,$row[‘price’],'”>’;
    echo ‘<P><input type=”submit” value=”カートに入れる”></P>’;
    ‘</form>’;
   
type属性がhiddenなので画面には表示されませんが、inputタグに書いた情報はサーバーに送信されます。

「カートに入れる」ボタンをクリックすると、カートに商品を追加するcart-insert.phpが実行されます。
echo ‘<p><a href=”favorite-insert.php?id=’,$row[‘id’],'”>お気に入りに追加</a></p>’;
}
?>
<?php require ‘footer.php’; ?>
お気に入りに追加」リンクでは、リクエストパラメータ名idに、商品番号を設定します。お気に入り商品を登録する際に、商品番号が必要になるためです。
PHPについて

この本から引用、参考にして学び、完成させることができました。しかし、ここではプログラミング初心者の私が詳しく解説することは、おこがましく、難しく出来ません(ToT)
その点、この本では丁寧な解説が載っていますので、解説とともにコードを書き、完成させればより深く学ぶことができます(^.^)、実際、初心者の私でもわかりやすかったです。身に付け消えないスキルが3,000円弱ならコスパよく、買っておいてよかったと満足してます。


短期間でのレベルアップにはプロから学ぶのもありです。

キャリアアップに必要なスキルを取得しよう。

オンラインで受講ができるスクールですので、全国どこからでも。

就職・転職支援