目前我在MySQL中插入一些值时遇到了一些麻烦。
我有一张桌子:bidder
Columns
id type run_id min_bid max_bid
我无法插入min_bid
和max_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。
有什么想法吗?
答案 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);
}
希望它可以帮助某人并感谢您的思考。