テーブルに購入情報を追加する際に問題が発生しました。ショッピングカートを作成しました。チェックアウト時に購入ボタンがあります。先に進む前に、これが私のテーブルの構造です。
購入(表):
- PurchaseID(主キー)
- FrameNumber(外部キー)
- 日にち
- Eメール
BikeStock:
- FrameNumber(主キー)
- 購入ID(外部キー)-購入テーブルへのリンク。
- BikeCode(外部キー)-自転車テーブルへのリンク。
誰かが購入テーブルをクリックしたときに、購入IDを入力し、FrameNumberをBikestockテーブルから取得します。Bikecode='購入したい自転車のコード'です。
私がこれまでに持っているのはこれです:
<?php
session_start();
include ("connection.php");
$sql = "SELECT b.FrameNumber, b.BikeCode, p.FrameNumber FROM BikeStock b LEFT JOIN Purchase p on b.FrameNumber = p.FrameNumber WHERE b.bikecode = 'MABE2012-5'";
$result = mysqli_query($con, $sql) or die('Query1 failed: ' . mysqli_error($con));
while($row = mysqli_fetch_array($result)) {
$framenumber = $row[0];
echo $framenumber . "<br>";
}
$PurchaseID = (rand(1,24));
$date = date("d/m/Y");
$Email = $_SESSION["user"];
$sql1 = "INSERT INTO Purchase VALUES (\"$date\",\"$PurchaseID\",\"$Email\", \"$framenumber\")";
$result1 = mysqli_query($con, $sql1) or die('Query2 failed: ' . mysqli_error($con));
echo $date . "<br>";
echo $PurchaseID . "<br>";
echo $Email . "<br>";
?>
$ Bikecode情報を追加する方法がわかりません。また、乱数を選択し、フレーム番号がコピーされ続けるため、主キーで重複したエントリを取得し続けますが、外部キーであるため、1つのフレーム番号を使用する場合は、別のフレーム番号を選択する必要があります。フレーム番号が足りなくなった場合は、在庫切れと言いたいです。
助けていただければ幸いです。不明な点がある場合は、どこにあるか教えてください。整理します。