大多数用户友好的方式将数据插入表中

时间:2018-05-10 16:22:53

标签: php html mysql sql

所以我正在尝试学习PHP和SQL并制作模拟拍卖网站。我有一个网页,您可以在其中浏览项目,每个项目我都有一个按钮“对此项目出价”。

我正在尝试找出一个用户友好的选项,用于为该特定项目添加出价。我现在提出的解决方案是注册投标页面,您可以在下拉菜单中选择项目,然后选择您希望在其中注册投标的用户。我知道应该通过下拉菜单选择用户或项目,但为了简单起见,我将保留用户作为下拉选项。我正在寻找的是改善项目价值的添加方式。由于显而易见的原因,它需要用户输入itemID,因此这不是用户友好的。我想知道如何制作,以便当您浏览商品页面,并且看到要出价的商品时,您可以按商品列中的出价按钮,自动输入项目的itemID按下出价。这样您只需输入用户名和出价金额即可。

总结一下:我怎样才能有一个注册出价链接,在按下时会将您重定向到出价页面,其中出价会被注册到您按下哪个按钮的项目。请原谅我试图描述我的问题。我正在寻找在SQL或PHP中执行此操作的方法。也许使用$_GET

SQL表格结构:

CREATE TABLE `bid` (
   `idbid` INT NOT NULL AUTO_INCREMENT,
   `amount` INT NOT NULL,
   `idbuyer` INT NULL,
   `iditem` INT NULL,
   PRIMARY KEY (`idbid`)
);

CREATE TABLE `item` (
   `iditem` INT NOT NULL AUTO_INCREMENT,
   `min_price` INT NULL,
   `description` VARCHAR(45) NULL,
   `idseller` INT NULL,
   `idcategory` INT NULL,
   PRIMARY KEY (`iditem`)
);

CREATE TABLE `seller` (
    `idseller` INT NOT NULL AUTO_INCREMENT,
    `name` VARCHAR(45) NULL,
    PRIMARY KEY (`idseller`)
);

ALTER TABLE `bid` 
    ADD INDEX `FK_item_idx` (`iditem` ASC);
ALTER TABLE `bid` 
    ADD CONSTRAINT `FK_item`
    FOREIGN KEY (`iditem`)
    REFERENCES `item` (`iditem`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION;

ALTER TABLE `item` 
    ADD INDEX `FK_seller_idx` (`idseller` ASC);
ALTER TABLE `item` 
    ADD CONSTRAINT `FK_seller`
    FOREIGN KEY (`idseller`)
    REFERENCES `seller` (`idseller`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION;

INSERT INTO `item` (`min_price`, `description`) VALUES ('200', 'coffeetable');
INSERT INTO `item` (`min_price`, `description`) VALUES ('400', 'lamp');
INSERT INTO `item` (`min_price`, `description`) VALUES ('600', 'painting');

INSERT INTO `bid` (`amount`, `iditem`) VALUES ('800', '1');
INSERT INTO `bid` (`amount`,`iditem`) VALUES ('1000','2');

INSERT INTO `seller` (`name`) VALUES ('Bob');
INSERT INTO `seller` (`name`) VALUES ('Rob');
INSERT INTO `seller` (`name`) VALUES ('Tob');

UPDATE `item` SET `idseller`='1' WHERE `iditem`='1';
UPDATE `item` SET `idseller`='1' WHERE `iditem`='2';
UPDATE `item` SET `idseller`='2' WHERE `iditem`='3';

1 个答案:

答案 0 :(得分:1)

在出价之前验证投标人,以避免在出价时遇到挫败感。

假设您一起列出了多个拍卖项目,请使用JavaScript点击事件选择出价工具选择的itemID。使用AJAX获取最新的出价金额,只允许提高出价。

要快速出价和更新,请通过AJAX发送出价,并通过AJAX定期刷新。

回顾eBay拍卖 - 他们是主人。