php - 如何将信息添加到采购表中

标签 php mysql

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

购买(表):

  • 购买 ID(主键)
  • 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 信息,而且我不断收到带有主键的重复条目,因为它选择随机数,并且帧号不断被复制,但它是一个外键,因此如果使用一个帧号,它必须选择另一个,如果它用完框架编号,我希望它说缺货。

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

最佳答案

一些建议:

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

INSERT INTO Purchase VALUES

更像是:

INSERT INTO Purchase ( PurchaseID, FrameNumber, ...) VALUES ?, ?, ...

并使用准备好的语句。

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

关于php - 如何将信息添加到采购表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13787590/

相关文章:

php - 如何检测邮件:failures with Laravel 5. 2

Mysql在1中进行3个查询并提高性能

mysql - 为推荐营销存储分层数据 (MySQL)

php - 从 MySQL 表中选择,按匹配的类别数排序

PHP 尝试从 JSON 字符串中获取特定变量

PHP activerecord mysql 服务器已经消失

php - 在 MySQL php 中将 ID 从一个表插入到另一个表

Javascript不加载mysql数据phonegap

php - Azure 应用服务应用程序使用错误的 PHP 版本

php - Yii框架前后端分离