トーナメントブラケットのビジュアルをデザインしようとしていますが、一緒にスロットを作ることはありません!次のようにトーナメントブラケットをデザインする - 一緒にうまくフィットしない
CSSは次のとおりです。
HTMLのための今#tournament-holder{
width:708px;
padding:20px 0 20px 15px;
float:left;
}
.vertical-holder{
width:100px;
padding-right:15px;
float:left;
}
.horizontal-holder1{
width:98px;
height:98px;
margin-bottom:15px;
border:1px solid #bdbdbd;
float:left;
}
.horizontal-holder2{
width:98px;
height:98px;
margin:57.5px 0 72.5px 0;
border:1px solid #bdbdbd;
float:left;
}
.horizontal-holder3{
width:98px;
height:98px;
margin:172.5px 0 187.5px 0;
border:1px solid #bdbdbd;
float:left;
}
.horizontal-holder4{
width:98px;
height:98px;
margin:402.5px 0 417.5px 0;
border:1px solid #bdbdbd;
float:left;
}
.horizontal-holder5{
width:98px;
height:98px;
margin:862.5px 0 877.5px 0;
border:1px solid #bdbdbd;
float:left;
}
.horizontal-holder6{
width:98px;
height:98px;
margin:1782.5px 0 1797.5px 0;
border:1px solid #bdbdbd;
float:left;
}
.white-holder{
width:98px;
height:49px;
background-color:white;
float:left;
}
.yellow-holder{
width:98px;
height:49px;
background-color:#FFF8DC;
float:left;
}
.player-holder{
width:70px;
height:49px;
float:left;
}
.score-holder{
width:28px;
height:49px;
float:left;
}
:
:<div id="tournament-holder">
<div class="vertical-holder">
<?php
$q = "SELECT u.username, p.position FROM ".TBL_FOOT_TOUR_PLAYERS." p
INNER JOIN ".TBL_USERS." u ON p.userid = u.id
WHERE p.tourid = '$tour_id' ORDER BY position";
$result = $database->query($q);
$i = 1;
while($row=mysql_fetch_assoc($result)){
extract($row);
if($i&1){
?>
<div class="horizontal-holder1">
<div class="white-holder">
<div class="player-holder">
<? echo "$username"; ?>
</div>
<div class="score-holder">
0
<div>
</div>
<?php
}
else{
?>
<div class="yellow-holder">
<div class="player-holder">
<? echo "$username"; ?>
</div>
<div class="score-holder">
0
<div>
</div>
</div>
<?php
}
$i++;
}
?>
</div>
<?php
//subsequent rounds
for($i=1; $i <= $rounds; $i++)
{
$j = $i + 1; //this is to generate the correct horizontal holder
$k = 1; //this is the order of the players - to check if they are odd or even as they come out.
$players = $players/2;
$q = "SELECT u.username, r.position FROM ".TBL_FOOT_TOUR_ROUNDS." r
INNER JOIN ".TBL_USERS." u ON u.id = r.winner
WHERE tourid = '$tour_id' && round = '$i' ORDER BY position";
$result = $database->query($q);
?>
<div class="vertical-holder">
<?php
while($row=mysql_fetch_assoc($result)){
extract($row);
if($k&1){
?>
<div class="horizontal-holder<?php echo $j; ?>">
<div class="white-holder">
<div class="player-holder">
<? echo "$username"; ?>
</div>
<div class="score-holder">
0
<div>
</div>
<?php
}
else{
?>
<div class="yellow-holder">
<div class="player-holder">
<? echo "$username"; ?>
</div>
<div class="score-holder">
0
<div>
</div>
</div>
<?php
}
$k++;
}
?>
</div>
<?php
}
?>
</div>
次は、ブラケットが現在のようにレンダリングされているものへのリンクです
明らかに、何かが正しく並べられていません。
ブラケットのアイデアは、「トーナメントホルダー」がブラケット全体を保持するということです。各ラウンドには「垂直ホルダー」があります...各垂直ホルダーには、2つのチーム(1つのフィクスチャー)ごとに水平ホルダーが含まれます。 6種類の水平ホルダーは、トーナメントがさらに進んでいくにつれて、フィクスチャ間の間隔が異なります。各水平ホルダには、黄色または白色のホルダがあります。どちらも同じですが、背景色が異なります。これらのそれぞれの中には、プレーヤーとスコアホルダーがあります。
答えはかなり複雑な質問ですが、これを解決できますか? 私は大きな問題を抱えていますが、それを解決することはできません。
感謝:)
おかげで、ちょうどそれを読む前にいなぜ私が正しく表示されていないのか分かりました。なぜなら、if elseステートメントが混乱の原因となる間違ったステージでdivタグを閉じさせてしまったからです。主な相違点は、配列を使用していることと、それを私のソリューションにマージすることです。私の結果を投稿する:) – sark9012