จับคู่แข่งขันแบบน้อกเอ้าท์

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา จับคู่แข่งขันแบบน้อกเอ้าท์

จับคู่แข่งขันแบบน้อกเอ้าท์
ขอแนวทางในการเขียน ประมาณว่ามีทีมอยู่11 ทีม แล้วจะจับคู่แข่งกัน แพ้คัดออก ทีมที่ว่าง ได้บาย


Suthon77 02-02-2016 08:58:29

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1


suthon77 02-02-2016 09:14
 ความคิดเห็นที่ 2


ninenik 02-02-2016
 ความคิดเห็นที่ 3

$sql="select * from team order by rand()"; 

มันก้จับคู่ได้ แต่จะไปบันทึกยังงัย ให้ทีมแรกอยู่ในฟีลด์แรก ทีมที่สองอยู่ในฟีลด์ที่สอง



suthon77 02-02-2016 10:00
 ความคิดเห็นที่ 4
นับค่าตัวแปร แล้วตรวจสอบเลชคู่ เลขคี่

$i=0;
$sql="select * from team order by rand()";
$qr=mysql_query($sql);
while($rs=mysql_fetch_array()){
   $i++;
   if($i%2==1){
       // บันทึกลงฟิลด์แรก
   }
   if($i%2==0){
       // บันทึกลงฟิลด์ที่สอง
   }
}


ninenik 02-02-2016
 ความคิดเห็นที่ 5
แต่มันต้องอยู่เรคคอร์ดเดียวกัน สมมุติทีมที่1 เจอทีมที่2


suthon77 02-02-2016 12:20
 ความคิดเห็นที่ 6
ใช้ array เก็บค่า แล้วค่อยเอาค่ามาจัดการรูปแบบแล้วบันทึกทีหลังอีกที ดูโค้ดต่อไปนี้เป็นแนวทาง

<?php
$arr_team=array();
$arr_team[]="Team 1";
$arr_team[]="Team 2";
$arr_team[]="Team 3";
$arr_team[]="Team 4";
$arr_team[]="Team 5";
$arr_team[]="Team 6";
$arr_team[]="Team 7";
$arr_team[]="Team 8";
$arr_team[]="Team 9";
$arr_team[]="Team 10";
$arr_team[]="Team 11";
echo "<br>";    
echo "<br>";    
$v=0;    
$s=0;    
$arr_team_add=array();    
for($i=0;$i<count($arr_team);$i++){
    $v++;
    $s++;
    $arr_team_add[]=$arr_team[$i];
    if($v%2==0){
        echo "<pre>";
        print_r($arr_team_add);
        echo "</pre>";
        // บันทึกคู่แรกด้วย $arr_team_add[0] กับ $arr_team_add[1]
        $arr_team_add=array(); 
        $v=0;
    }
    if($s==count($arr_team)){ // ทืมสุดท้าย
         echo "<pre>";
        print_r($arr_team_add);
        echo "</pre>";
        $arr_team_add=array(); 
        $v=0;       
    }
}
?>



กรณีดึงจากฐานข้อมูล


<?php
$arr_team=array();
$sql="select * from team order by rand()";
$qr=mysql_query($sql);
while($rs=mysql_fetch_array()){
    $arr_team[]=$rs['ชื่อหรือไอดี'];
}
$v=0;    
$s=0;    
$arr_team_add=array();    
for($i=0;$i<count($arr_team);$i++){
    $v++;
    $s++;
    $arr_team_add[]=$arr_team[$i];
    if($v%2==0){
        echo "<pre>";
        print_r($arr_team_add);
        echo "</pre>";
        // บันทึกคู่แรกด้วย $arr_team_add[0] กับ $arr_team_add[1]
        $arr_team_add=array(); 
        $v=0;
    }
    if($s==count($arr_team)){ // ทืมสุดท้าย
         echo "<pre>";
        print_r($arr_team_add);
        echo "</pre>";
        $arr_team_add=array(); 
        $v=0;       
    }
}
?>


ninenik 02-02-2016
 ความคิดเห็นที่ 7
เด่วลองดูครับผม


suthon77 04-02-2016 08:59
 ความคิดเห็นที่ 8
ได้แล้วครับ สุดยอดมากเลย เทพจริงๆ ขอคาราวะ


suthon77 04-02-2016 09:40
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ