所以我正在尝试学习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';
答案 0 :(得分:1)
在出价之前验证投标人,以避免在出价时遇到挫败感。
假设您一起列出了多个拍卖项目,请使用JavaScript点击事件选择出价工具选择的itemID。使用AJAX获取最新的出价金额,只允许提高出价。
要快速出价和更新,请通过AJAX发送出价,并通过AJAX定期刷新。
回顾eBay拍卖 - 他们是主人。