我正在写一个项目的自动竞标脚本。我想最简单的方式来描述我要做的就是给你一个场景。假设增量为1000美元:Asking Price: $1,000

Bidder 1: Max Bid of $4,000 -> High Bid: $1,000

Bidder 2: Max Bid of $3,000 -> High Bid: $3,000 -> [AUTO BIDDER 1] High Bid: $4,000

Bidder 3: Max Bid of $8,000 -> High Bid: $5,000

Bidder 4: Max Bid of $10,000 -> [AUTO BIDDER 3] High Bid: $8,000 -> High Bid: $9,000

我正试着想出一个循环来通过它们,但我不太确定如何通过。我有一个循环,我想出的,将为每个出价,但我想跳过使每1000美元的增量,而不是跳出最高出价的基础上最大出价。

我有两个表设置:bids和maxbids。这就是我想到的循环:

插入新投标

开始循环

$high=从bids表中获取当前最高出价

$next=从maxbids中获取maxbid>$high的最低maxbid

如果($next>=($high+增量)

插入投标书

否则//

断开回路

结束循环

这是可行的,但正如我所说,这将继续插入所有1000美元的增量。我希望它能像我上面展示的那样工作。有什么建议吗?

最佳答案

我认为你可以使用条件树,而不是循环

这是一个有趣的问题,从我如何理解它这个函数将触发每当一个新的出价。你想做的应该是:

存储用户试图插入的出价。

获取当前出价者的高出价(不应该有比这更高的出价,因为它们将通过此函数的先前迭代得到解决)。

下一步:/**

* $currentBidder = The current high bidder

* $highBid = The current high bidder's high bid

* $thisBidder = Bidder placing the new bid

* $thisBid = The bid that triggered the function

* $increment = The minimum bid increment

*/

function placeBid($currentBidder,$highBid,$thisBidder,$thisBid,$increment) {

if($thisBid > $highBid) {

// Insert $highBid as current bid, for $currentBidder

if($thisBid > $highBid + $increment) {

// Insert $thisBid into highbids table

// Insert $highBid + $increment as current bid, for $thisBidder

} else {

// Insert $thisBid as current bid, for $thisBidder

}

} else {

// Insert $thisBid as current bid for $thisBidder

if($highBid > $thisBid + $increment) {

// Insert $thisBid + $increment as current bid, for $currentBidder

} else {

// Insert $thisBid as current bid, for $currentBidder

}

}

}

笔记:

如果新的出价等于最高出价,我宁愿代表当前的投标人而不是新的投标人。

在所有情况下,我都倾向于最高出价,即使这不会高于当前的最高出价+增量。

显然,你必须检查它是否是第一个出价,如果是,设置出价为最低要价。您必须检查出价是否有效(大于当前出价+增量)。我还没有把代码包括进去。

据我所见,如果每次出价都触发函数,就根本不需要循环,只需要一个条件树。

脚本:

Item Current Bids: A, 4000

Item Current Max: A, 4000

--> C bids 7500

Item Current Bids: A, 4000; C, 5000

Item Current Max: C, 7500

--> B bids 7500

Item Current Bids: A, 4000; C, 5000; B, 7500; C, 7500

Item Current Max: C, 7500

--> A bids 9000

Item Current Bids: A, 4000; C, 5000; B, 7000; C, 7500; A, 8500

Item Current Max: A, 9000

php机器代出价,php - PHP/MySQL自动出价系统相关推荐

  1. mysql 自动更新时间_如何设置mysql自动更新创建时间和更新时间

    做项目时,希望: 新增记录时,mysql自动将系统的当前时间set到创建时间和更新时间这两个字段中. 更新记录时,mysql只update更新时间字段的时间. 设置mysql自动更新创建时间和更新时间 ...

  2. python 淘宝客服 机器人_Python实现资源代下|实现机器值守|全自动淘宝自动发货机器人...

    原标题:Python实现资源代下|实现机器值守|全自动淘宝自动发货机器人 发货机器人 帮你实现:淘宝虚拟商品的自动值守.自动资源下载.自动Email发货 1.运作流程 Trip: 使用小附件方式发送邮 ...

  3. php机器代出价,直通车转化出价工具将升级为:智能出价!

    为了能够更好的帮助中小商家解决流量冷启动.及货品成长上的流量难题,大商家在不同营销节点/活动期间更丰富.更多样化的营销诉求,转化出价工具即将商家们在更多营销场景中可以根据不同目标下的自动化出价能力,对 ...

  4. Mysql自动备份脚本

    1.Mysql自动备份脚本 #!/bin/sh # 数据库基本信息 #数据库名称 DB_NAME="test" #用户名 DB_USER="root" #密码 ...

  5. mysql 自动补齐 表名,列名 方法, 重启mysql方法

    1.mysql自动补齐方法 方法一.修改my.cnf vi /etc/my.cnf [mysql] auto-rehash         #添加auto-rehash 注:修改 #no-auto-r ...

  6. php和mysql不在一台机器上_MySQL_在同一台机器上运行多个 MySQL 服务,**************************************** - phpStudy...

    在同一台机器上运行多个 MySQL 服务 ********************************************************** 第一部分, 在一台服务器构建多mysql ...

  7. 在同一台机运行多个mysql 服务 多个主/从在同一主机_在同一台机器上运行多个 MySQL 服务...

    在同一台机器上运行多个 MySQL 服务 ********************************************************** 第一部分, 在一台服务器构建多mysql ...

  8. mysql自动增长恢复_mysql自动增长的有关问题,怎么恢复从1开始

    mysql自动增长的问题,如何恢复从1开始 在一个表中我设置到autoid为自动增长列 例如有如下数据 1 张三 男 20 2 王五 男 22 3 李四 男 25 4 陈大 男 19 现在我把 aut ...

  9. mysql定时备份并上传ftp_Linux下定时任务实现mysql自动备份并上传远程ftp

    Linux下定时任务实现mysql自动备份并上传远程ftp 1.创建保存备份文件的目录:/home/mysql_data cd /home mkdir mysql_data 2.创建备份脚本文件:/h ...

最新文章

  1. 除了不要 SELECT * ,数据库还有哪些技巧
  2. 【UIKit】UIAlertController使用
  3. 软件定义的网络体系结构是否使用网段路由?—Vecloud微云
  4. cmenu 隐藏子项中的一个子项_QML中的模型-视图-代理
  5. unity实用技术:色盲玩家也能享受好的游戏体验
  6. Python面向对象、魔法方法
  7. duilib消息机制的介绍
  8. 如何获取网卡硬件地址
  9. java rsa enc 源码_RSA加解密源码 | 学步园
  10. vue中的防抖函数写法
  11. 外联样式表添加到html中,CSS联样式表之内联式、外联式和嵌入式
  12. YYKit框架使用学习之整理
  13. 华为路由器ensp静态路由配置实例
  14. 互联网营销师淘宝主播
  15. 如何面对科技性失业?
  16. 梅特勒托利多xk3124电子秤说明书_托利多电子秤说明书
  17. 未来交通已经“上线” 高德地图智慧交通合作已攻150城,半年大增约五成
  18. $http的使用方式
  19. 编写c语言的开篇——Hello World
  20. 承先启后 - 2021 年开源社顾问委员会年度会议圆满结束

热门文章

  1. http://blog.sina.com.cn/s/blog_5da93c8f0102w86x.html
  2. [IOS APP]曾仕强演说精选-有声系列
  3. Linux中打开谷歌浏览器后一直在转圈
  4. NODE.JS事件处理
  5. 什么是IaaS、PaaS、SaaS?
  6. 编一程序,将两个字符串连接起来,不要用strcat函数。
  7. 图神经网路入门(1)
  8. 图片资源中总会出现thumb.db文件
  9. 债务人不愿腾房是否能拍卖
  10. Outlook邮件存档设置