Arkadaşlar bir Turnuva şeması çıkarta cak scripti tamamladım fakat kazananı elle değilde jquery ile bir sonraki turun inputuna nasıl taşıyacağım konusunu çözemedim
çıktı bu şekilde
Kodum da bu şelikde :
<html>
<head>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
<title>Oyun Makinası Otomosyonu Turnuva Sistemi| Enes BİBER</title>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.0.1/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.11.3/css/dataTables.bootstrap5.min.css">
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/buttons/2.1.0/css/buttons.dataTables.min.css">
<script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-3.5.1.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/buttons/2.1.0/js/dataTables.buttons.min.js"></script>
<script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.11.3/js/dataTables.bootstrap5.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mouse0270-bootstrap-notify/3.1.5/bootstrap-notify.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" />
<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Raleway">
<style>
body {
font-family: "Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
background-color: #161616;
}
.title {
margin-left: 10px;
font-weight: bold;
float: left;
}
.preclone {
white-space: pre-wrap;
}
.TeamSquare {
background-color: #fff;
//border: 1px solid black;
margin: 0px;
padding: 0px;
text-align: center;
width: 148px;
height: 28px;
line-height: 30px;
}
.BracketArea {
position: relative;
display: block;
min-width: 10px;
min-height: 110px;
}
.no-overflow {
overflow: hidden;
}
.table {
display: table;
width: 100%;
height: 100%;
}
.textbody {
display: table-cell;
background-color: #f3f3f3;
padding-top: 20px;
padding-bottom: 50px;
padding-left: 100px;
padding-right: 100px;
}
.textbody .title{
font-size: 30px;
display: block;
text-align: center;
}
.nomargin {
margin: 0;
}
.form-control-turnuva {
display: block;
width: 100%;
/* padding: 0.375rem 0.75rem; */
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border-radius: 0.25rem;
transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
</style>
</head>
<body class="wide comments example dt-example-bootstrap5">
<div class="container">
</br></br></br></br>
<div class="card">
<h5 class="card-header text-white" style="background-color: #f19306;">Arcade Oyun Makinesi Online Otomosyon Turnuva Sistemi | Enes BİBER <a style="float: right;" title="Çıkış Yap" alt="Çıkış Yap" href="login.php?cikis" class="btn btn-warning btn-lg active" role="button" ><i class="fa fa-sign-out" aria-hidden="true"></i>
</a>
<a style="float: right; margin-right:10px" title="Log Kayıtları" alt="Log Kayıtları" href="log.php" class="btn btn-primary btn-lg active" role="button"><i class="fa fa-list" aria-hidden="true"></i>
</a>
<a style="float: right; margin-right:10px" title="Turnuvalar" alt="Turnuvalar" href="turnuva.php" class="btn btn-primary btn-lg active" role="button"><i class="fa fa-users" aria-hidden="true"></i>
</a>
</h5>
<div class="card-body">
Turnuva Hazırlayın;</br>
<form action="turnuva.php" method="POST">
<div class="form-group">
<label for="exampleInputEmail1">Katılımcılar:</label>
<input type="text" class="form-control" id="Teams" name="Teams" aria-describedby="emailHelp" value="<?php if($_GET) echo $_GET["Teams"]; ?>" placeholder="Ali,veli">
<small id="emailHelp" class="form-text text-muted">İsimleri Virgül ile Ayırın</small>
</div>
<button type="submit" class="btn btn-primary">Turnuva Oluştur!</button>
</form>
<?php
if($_POST) {
$TeamArray =explode(',',$_POST["Teams"]);
$BracketArray = array_fill(0, pow(2, ceil(log(count($TeamArray))/log(2)) + 1) - 1, " ");
$lastRowIndex = floor(count($BracketArray) / 2);
$offset = ceil(count($BracketArray) / 2) - count($TeamArray);
for($i = 0; $i < count($TeamArray); $i++) {
$BracketArray[$lastRowIndex + $i - $offset] = $TeamArray[$i];
}
}
global $TeamArray;
global $PositionArray;
if(isset($TeamArray)) {
echo "<div class=\"BracketArea\" style=\"height:" . ((pow(2, getDepth($BracketArray)) - 1) * 40 + 30 + 20) . "px;width:" . (getDepth($BracketArray) * 190 + 150 + 20) . "px \">";
$offset = 0;
for($i = floor(count($BracketArray)/2); $i < count($BracketArray); $i++) {
$PositionArray[$i] = [10, $offset * 40 + 10];
$offset++;
}
$j=0;
for($i = count($BracketArray) - 1; $i >= 0; $i--) {
if(hasChildren($BracketArray, $i))
$PositionArray[$i] = [$PositionArray[$i*2+1][0] + 190, midpoint($PositionArray[$i*2+1][1], $PositionArray[$i*2+2][1])];
}
writeTeamSquareToPosition($BracketArray[0], $PositionArray[0],0); //Kazanan
for($i = 1; $i < count($BracketArray); $i++) {
$tur= $offset / 2 + $i;
if($i > (floor(count($BracketArray) / 2)) and $BracketArray[$i] == " ") { continue; } //Sonraki Tura Boş Alan açar
writeTeamSquareToPosition($BracketArray[$i], $PositionArray[$i],$i);
drawLineToParent($BracketArray, $i, $PositionArray);
}
echo "</div>"; //BracketArea
}
function writeTeamSquareToPosition($name, $pos,$TUR=0) {
echo "<div class=\"TeamSquare\" style=\"position:absolute;z-index:2;left:$pos[0]px;top:$pos[1]px\"> <input type=\"text\" class=\"form-control-turnuva\" id=\"oyuncu".$TUR."\" name=\"oyuncu".$TUR."\" placeholder=\"Kazananı yazın\" value=".$name."></div>";
}
function writeTeamSquare($name) {
echo "<div class=\"TeamSquare\">".$name."</div>";
}
function drawLine($start, $end) {
echo "<svg style=\"position:absolute;width:100%;height:100%;top:0px;left:0px;z-index:1\">";
echo "<line x1=$start[0] y1=$start[1] x2=$end[0] y2=$end[1] style=\"stroke:black;stroke-width:2px\" />";
echo "</svg>";
}
function drawLineToParent($array, $index, $PositionArray) {
$childPos = $PositionArray[$index];
$parentPos = $PositionArray[floor(($index - 1) / 2)];
drawLine([$childPos[0] + 150, $childPos[1] + 15], [midpoint($childPos[0] + 150, $parentPos[0]), $childPos[1] + 15]);
drawLine([midpoint($childPos[0] + 150, $parentPos[0]), $childPos[1] + 15], [midpoint($childPos[0] + 150, $parentPos[0]), $parentPos[1] + 15]);
drawLine([midpoint($childPos[0] + 150, $parentPos[0]), $parentPos[1] + 15], [$parentPos[0], $parentPos[1] + 15]);
}
function getDepth($arrayTree) {
return ceil(log((count($arrayTree) + 1))/log(2)) - 1;
}
function hasChildren($array, $index) {
if(isset($array[$index * 2 + 1]) && isset($array[$index * 2 + 2]))
return true;
return false;
}
function midpoint($first, $second) {
return ($first + $second) / 2;
}
?>
</div>
</html>Yardımlarınızı bekliyorum