Самый удобный способ вставки данных в таблицу - PullRequest
0 голосов
/ 10 мая 2018

Итак, я пытаюсь выучить 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';

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Используя $ _GET, вы можете получить идентификатор элемента на странице вашего элемента. Свяжите свою регистрационную страницу ставок как href="givebid.php?bidID=<?php echo $row ['IDitem'];?> в кнопке "дать ставку".

0 голосов
/ 10 мая 2018

Аутентифицируйте участников торгов перед началом торгов, чтобы избежать разочарования при входе в систему при размещении ставки.

Предполагая, что у вас в списке несколько аукционов, используйте событие клика JavaScript, чтобы выбрать itemID, который выбрал участник.Используйте AJAX, чтобы получить самую последнюю сумму ставок, чтобы разрешить только увеличение ставок.

Для быстрых ставок и обновления отправляйте заявки через AJAX и периодически обновляйте через AJAX.

Просмотрите аукционы eBay - онимастера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...