Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

मैं PHP और MySQL में राउंड रॉबिन टूर्नामेंट कैसे उत्पन्न कर सकता हूं?

मैंने स्क्रैच से राउंडरोबिन फ़ंक्शन बनाया क्योंकि मैंने सोचा था कि समान परिणाम प्राप्त करना आसान हो सकता है और मुझे संख्याओं के बजाय सीधे स्ट्रिंग से भरे सरणी का उपयोग करने की इजाजत देता है।

क्योंकि मैं डेटाबेस से नामों की एक सूची खींचता हूं और एक सरणी में जोड़ता हूं, अब मैं इसे सीधे नीचे दिए गए फ़ंक्शन के साथ शेड्यूल कर सकता हूं। नंबरों को नाम आदि से जोड़ने के लिए किसी अतिरिक्त कदम की आवश्यकता नहीं है।

कृपया इसे आज़माने के लिए स्वतंत्र महसूस करें और अगर यह काम करता है तो एक टिप्पणी छोड़ दें। मेरे पास एक संस्करण भी है जो 2 तरह (घर और वापसी) शेड्यूल और या फेरबदल विकल्प की अनुमति देता है। अगर किसी को उसमें दिलचस्पी है तो एक टिप्पणी भी छोड़ दें।

<?php

/**
 * @author D.D.M. van Zelst
 * @copyright 2012
 */

function scheduler($teams){
    if (count($teams)%2 != 0){
        array_push($teams,"bye");
    }
    $away = array_splice($teams,(count($teams)/2));
    $home = $teams;
    for ($i=0; $i < count($home)+count($away)-1; $i++){
        for ($j=0; $j<count($home); $j++){
            $round[$i][$j]["Home"]=$home[$j];
            $round[$i][$j]["Away"]=$away[$j];
        }
        if(count($home)+count($away)-1 > 2){
            array_unshift($away,array_shift(array_splice($home,1,1)));
            array_push($home,array_pop($away));
        }
    }
    return $round;
}
?>

कैसे उपयोग करें, उदाहरण के लिए एक सरणी बनाएं जैसे:

<?php $members = array(1,2,3,4); ?>

या

<?php $members = array("name1","name2","name3","name4"); ?>

फिर उपरोक्त सरणी के आधार पर अपना शेड्यूल बनाने के लिए फ़ंक्शन को कॉल करें:

<?php $schedule = scheduler($members); ?>

परिणामी सरणी शेड्यूल को प्रदर्शित करने के लिए बस नीचे की तरह करें या वैसे भी आपको पसंद है:यह छोटा कोड शेड्यूल को एक अच्छे प्रारूप में प्रदर्शित करता है लेकिन इसे वैसे भी उपयोग करें जैसा आप चाहते हैं।

<?php
foreach($schedule AS $round => $games){
    echo "Round: ".($round+1)."<BR>";
    foreach($games AS $play){
        echo $play["Home"]." - ".$play["Away"]."<BR>";
    }
    echo "<BR>";
}
?>

अगर यह आपके लिए काम करता है या यदि आप फेरबदल के साथ 2-तरफा संस्करण में रुचि रखते हैं तो एक नोट छोड़ दें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. वर्तमान आइटम आईडी के आसपास N पिछला और M अगला आइटम चुनें

  2. MySQL में पूर्ण-पाठ खोज:द गुड, द बैड एंड द अग्ली

  3. पुराने पासवर्ड के साथ प्रमाणीकरण अब समर्थित नहीं है, 4.1 स्टाइल पासवर्ड का उपयोग करें

  4. MySQL में चालू माह का रिकॉर्ड कैसे प्राप्त करें

  5. SQLAlchemy DELETE त्रुटि आलसी लोड और एक ही रिश्ते के गतिशील संस्करण दोनों होने के कारण होती है