如何将信息添加到购买表中

时间:2012-12-09 13:03:39

标签: php mysql

我在向表格添加购买信息时遇到问题。我创建了一个购物车,在结账时有一个购买按钮。在我开始之前,这是我的表格结构的方式:

购买(表):

  • PurchaseID(主键)
  • FrameNumber(外键)
  • 日期
  • 电子邮件

BikeStock:

  • FrameNumber(主键)
  • 购买ID(外键) - 购买表的链接。
  • BikeCode(外键) - 指向自行车桌的链接。

当有人点击购买表时,我想要输入购买ID,从Bikestock表中抓取FrameNumber,其中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信息,同时我继续使用主键获取重复条目,因为它选择随机数并且framenumber一直被复制但是它是一个外键所以如果使用一个framenumber它必须选择另一个,如果它没有帧数我想让它说缺货。

非常感谢帮助,如果我不清楚,请告诉我在哪里,我会解决它。

1 个答案:

答案 0 :(得分:1)

一些建议:

1)更改您的购买表以包含自动增量主键。不要使用随机数 2)更改此插入内容:

  

插入购买价值

更像是:

  

INSERT INTO购买(PurchaseID,FrameNumber,...)VALUES?,?,...

并使用准备好的声明。

3)如果您将日期格式化为YYYY-MM-DD,则MySQL对日期更满意 4)在将它添加到购物车之前检查“缺货框架”。