使用post方法在mysql表中插入值

时间:2014-04-24 07:47:00

标签: php mysqli

目前我在MySQL中插入一些值时遇到了一些麻烦。

我有一张桌子:bidder

Columns
id   type  run_id   min_bid   max_bid

我无法插入min_bidmax_bid。我用post方法得到这些。重点是因为我有不同的投标人类型,我可能需要1个投标人的多个值,或者我可能只需要1个值。

我使帖子值不同,所以我可以区分我需要保存1个值或2个值时的差异。

这是var_dump()的{​​{1}}:

$_POST

所以表array(5) { ["get_bid0"] => string(1) "5" ["get_bid1"] => string(1) "6" ["get_bid_low2"] => string(1) "7" ["get_bid_high2"]=> string(2) "11" ["get_bids"]=> string(8) "Set Bids" } 必须像这样保存:

bidder

+-----------------------------------------------+ | id | type | run_id | min_bid | max_bid | +-----------------------------------------------+ | 1 | steadybid | 1 | 5 | 5 | | 2 | steadybid | 1 | 6 | 6 | | 3 | random | 1 | 7 | 11 | +-----------------------------------------------+ min_bid以外的所有内容都已设置。

我能想到的只是很多if语句。

注意:投标人的ID可能不是连续的,因为可以通过点击按钮删除投标人。因此,在竞价者ID 3之后,下一个ID可能是5而不是4。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

部分解决了我自己的答案:

必须为包含相同运行ID的每个投标人ID执行foreach循环:

$strSql = 'select id from bidder where run_id='. $this->getRunId().';';
$arrIdBidders = $objDatabase->queryresult($strSql);

我必须将stablebids的名称更改为与帖子中随机出价相同的名称,因此我可以使用以下foreach循环。

foreach($arrIdBidders as $bidderkey => $key)  {
            $biddernumber = $bidderkey + 1;

            $strSql = 'update bidder set min_bid = '.$arrBids['get_bid_low'.$biddernumber].'
 where id = '. $arrIdBidders[$bidderkey]['id'].';';

            $blnOke = $objDatabase->query($strSql);
        }

        foreach($arrIdBidders as $bidderkey => $key)  {
            $biddernumber = $bidderkey + 1;

            $strSql = 'update bidder set max_bid = '.$arrBids['get_bid_high'.$biddernumber].' where id = '. $arrIdBidders[$bidderkey]['id'].';';

            $blnOke = $objDatabase->query($strSql);
        }

希望它可以帮助某人并感谢您的思考。