我最近一直在研究锦标赛支架系统,我试图通过PHP和MySQL显示数据。设计的jsfiddle是here,但可以查看代码here。无论如何,我已经创建了一个在锦标赛中显示的数据库。
CREATE TABLE `tournament_bracket` (
`id` int(11) NOT NULL auto_increment,
`tournamentname` varchar(64) NOT NULL,
`round` int(11) NOT NULL auto_increment,
`position` int(11) NOT NULL auto_increment,
`player` varchar(64) NOT NULL,
PRIMARY KEY (`id`)
所以我试图确定玩家所属的方式是通过回合和位置。以下是圆形和位置如何工作的基本表示。 http://gyazo.com/edcf23ccb1d827eb4e9080cfa62ba3ce
因此,即使可能有5个位置都具有" 1"的ID,该轮将指向正确的位置。现在,我正试图通过设计来展示它。我理解从数据库中获取信息并通过PHP显示它的基本概念。但是,查看代码,我需要一些东西来计算行的创建次数。例如
<div class="round quarter-finals"> (round one)
<div class="round semi-finals"> (round two)
<div class="round finals"> (round three)
<div class="round"> (round four)
<div class="roundfinal"> (round five)
如果每次都提到其中一个它会计算一个数字,我可以确定我应该把行放在哪里。至于职位,我仍然没有任何想法。
我想我需要给每个玩家插槽一个id,每一轮也是一个id。我不确定如何做到这一点,任何人都可以详细说明吗?
答案 0 :(得分:0)
如果我理解你的问题,你关注的是数据库的设计。
适当的极简主义设计可能是: 玩家(玩家ID,姓名) 锦标赛(锦标赛,名称) match(matchID,tournamentID,player1ID,player2ID,nextMatchID)
为了更容易实现,您可以按照建议在匹配表中添加值'round'。 匹配(matchID,round,tournamentID,player1ID,player2ID,nextMatchID)