php - 使用 php 将种子点随机分配给 128 个团队
问题描述
我有 128 支队伍参加单淘汰赛。我想实现以下目标:
- 通过按下一个按钮可以让这些球队随机面对对方(意思是 64 场比赛)
- 了解如果你赢了你将在下一场比赛中的位置以及你将面对谁
目前我的数据库有这些表:
- 团队(500 个团队的列表)
- 锦标赛(例如,这个锦标赛是 id = 1)
- 参与(想参加锦标赛的 128 支球队列表 id = 1)
- 比赛(这是我需要以某种方式随机添加团队 1 和团队 2 并且还知道他们在括号中的位置)
目前对于比赛表,我有:
- ID
- 锦标赛ID
- 一轮(128 支球队的锦标赛最多可以进行 7 轮:128 / 64 / 32 / 16 / 8 / 4 / 2
- 游戏(意思是在它所在的支架上,这样想我可以定义第 2 轮有第 1 轮的第 1 场和第 2 场比赛等。不确定这是一个好主意)
- team1_id
- team2_id
- team1_score
- team2_score
- 获胜者团队ID
- 地位
有没有人有这方面的经验?
谢谢。
解决方案
teams
以随机顺序选择所有行:
SELECT * FROM teams ORDER BY RAND()
/* Or: https://dba.stackexchange.com/questions/955/what-is-the-best-way-to-get-a-random-ordering */
match
使用 PHP:对于您检索的每两行,使用第一个团队的teams.id
asteam1_id
和第二个团队的teams.id
as插入一行team2_id
,并相应地填写其他字段。
推荐阅读
- swiftui - 为 SwiftUI TextField 添加标签
- conv-neural-network - GRU 包含用于文本生成器的 CNN
- java - 将 Countrylist 模型、数据和 Arraylist 从 Java 重写为 kotlin
- javascript - 如何触发点击事件进入通过 Ajax 加载但未附加的 DOM
- asp.net-core - 未找到 WebApi Core 2.2 OData 资源/路径
- algorithm - 在快速排序中选择数据透视
- html - 在另一个页面上使用设计登录
- azure-active-directory - New-AzAks powershell cmdlet 无法指定与 AAD 集成所需的 server-app-id 和 server-app-secret
- javascript - postcss 正在处理 /css/app.css 并在 import vue2-daterange-picker 后抛出 CssSyntaxError
- macos - 在我添加标志之前可以访问 npm 包的二进制文件