1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Mitglieder
  3. pesche

Beiträge von pesche

  • Spielplan (harte Nuss)

    • pesche
    • 14. Dezember 2005 um 15:26

    Vielen Dank ComSubVie...

    Das war wirklich nicht so schwer... aber auf die if schleife wär ich nie gekommen...

    hier nochmal den kompletten code für die, dies interessiert:

    PHP
    $namen = array("Rufer", "Big", "Jason", "Matti", "Raff", "Manu", "Hackl", "Wenger", "Gerber", "Jan", "Emi", "Splitty");
    $pos=0;
    $next=1;
    $rest=12;
    $nr=0;
    while($rest>1)
    {
     for($i=1; $i<$rest; $i++)
     {
      $team[$nr] = array ($namen[$pos], $namen[$next]); 
      $next++;
      $nr++;
     }
    $pos++;
    $next=$pos+1;
    $rest=$rest-1;
    }
    for ( $i = 0; $i < $nr; $i++ ) 
    {
     for ( $j = $i+1; $j < $nr; $j++ ) 
     {
      if($team[$i][0] != $team[$j][0] && $team[$i][1] != $team[$j][0] && $team[$i][0] != $team[$j][1] && $team[$i][1] != $team[$j][1])
      {
       $spiel = array ($team[$i], $team[$j]);
       echo $spiel[0][0];
       echo " + ";
       echo $spiel[0][1];
       echo " VS ";
       echo $spiel[1][0];
       echo " + ";
       echo $spiel[1][1];
       echo "<br>";
      } 
     }
    }
    Alles anzeigen



    stimmt so, oder?

  • Spielplan (harte Nuss)

    • pesche
    • 14. Dezember 2005 um 02:17

    ne die doppelten entstehen nicht beim erstellen der teams, sondern beim bilden der teampaarungen (1 code höher)

  • Spielplan (harte Nuss)

    • pesche
    • 13. Dezember 2005 um 19:08

    hier der code um teams zu bilden:

    PHP
    $namen = array("Rufer", "Big", "Jason", "Matti", "Raff", "Manu", "Hackl", "Wenger", "Gerber", "Jan", "Emi", "Splitty");
    $pos=0;
    $next=1;
    $rest=12;
    while($rest>1)
    {
     for($i=1; $i<$rest; $i++)
     {
      $team = array ($namen[$pos], $namen[$next]); 
      $next = $next+1;
      $sql="insert into teams values('', '".$team[0]."', '".$team[1]."')";
      mysql_query($sql);
     }
    $pos=$pos+1;
    $next=$pos+1;
    $rest=$rest-1;
    }
    Alles anzeigen



    und hier die datenbanken:

    CREATE TABLE `matches` (
    `id` int(20) NOT NULL auto_increment,
    `team1` varchar(30) collate latin1_general_ci NOT NULL,
    `team2` varchar(30) collate latin1_general_ci NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;

    CREATE TABLE `teams` (
    `id` int(20) NOT NULL auto_increment,
    `sp1` varchar(20) collate latin1_general_ci NOT NULL,
    `sp2` varchar(20) collate latin1_general_ci NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;

  • Spielplan (harte Nuss)

    • pesche
    • 13. Dezember 2005 um 19:05

    habs mittlerweile selbst etwas versucht (code ist aber sehr hässlich)

    hab zuerst alle spieler in ein array gelesen, dann alle möglichen teams gebildet und die dann in eine SQL datenbank (id, sp1, sp2) geschrieben.

    bis dahin alles bestens...

    aber beim bilden der teams gibts ein problem:

    PHP
    //buildteams.php
     
    $sql = "SELECT * from teams";
    $result = mysql_query ($sql); 
    while($row=mysql_fetch_array($result)) 
    { 
     
    $sp1=$row['sp1'];
    $sp2=$row['sp2'];
     
    $sql2 = "SELECT * from teams";
    $res=mysql_query($sql2);
    while($rows=mysql_fetch_array($res)) 
    {
    $spone=$rows['sp1'];
    $sptwo=$rows['sp2'];
     
    if($sp1==$spone || $sp1==$sptwo || $sp2==$spone || $sp2==$sptwo)
    {
    echo "";
    }
    else
    {
    $team1="$sp1 - $sp2";
    $team2="$spone - $sptwo";
     
    $insert="insert into matches values ('','".$team1."','".$team2."')";
    mysql_query($insert);
    }
    }
    }
    Alles anzeigen



    Dabei gibt es dublikate:

    id team1 team2
    1 Hari-Max Uli-Ste
    432 Uli-Ste Hari-Max

    WIE KANN ICH DAS VERHINDERN?

    hab bereits n selfjoin gebastelt der die duplikate findet, jedoch kommen dann auch wieder alle einträge:

    SELECT m1.id, m1.team1, m1.team2, m2.id, m2.team1, m2.team2 from matches m1, matches m2 where m1.team1=m2.team2 and m1.team2=m2.team1

    id team1 team2 id team1 team2
    1 Hari-Max Uli-Ste 432 Uli-Ste Hari-Max
    ... .... .... ... ... ...
    432 Uli-Ste Hari-Max 1 Hari-Max Uli-Ste

    WIE SCHAFF ICH ES NUR EINEN DER BEIDEN ZU LÖSCHEN?

  • Spielplan (harte Nuss)

    • pesche
    • 13. Dezember 2005 um 15:28

    aber ich hab n angebot....

    du schreibst mir den code... und ich komm bei dir rasenmähen...

  • Spielplan (harte Nuss)

    • pesche
    • 13. Dezember 2005 um 15:26

    zeit hab ich ja... bin arbeitslos

    nur....

    ICH KANNS NICHT...

    aber egal...

    ich dachte...

    ...na egal...

    dann eben nicht...

  • Spielplan (harte Nuss)

    • pesche
    • 13. Dezember 2005 um 00:58

    ???

    was daran so schwierig ist? hab keine ahnung von c++. kann ein wenig php aber das ist alles.

    kannst du mir den code aufschreiben wenns ja so einfach ist?
    und wenns geht als .exe an e-mail schicken (hab kein compiler)?

    vielen dank

  • Spielplan (harte Nuss)

    • pesche
    • 12. Dezember 2005 um 17:01

    Also, ich möchte einen Spielplan für ein Tischfussballturnier erstellen, so dass jeder gegen jeden mit jedem einmal spielt:

    - es gibt 12 Spieler

    - es werden immer 2er Teams gebildet (teams sind nicht fix, d.h. spieler1 ist mit spieler2 ein team später jedoch auch mit spieler3 usw.)

    - jedes 2er Team muss gegen jedes 2er Team spielen

    (
    Es sollte 66 Teams und insgesamt etwa 2145 Spiele geben.

    A(nzahl)=12
    (A-1)*(A/2)=66 Teams

    T(eams)=66
    (T-1)*(T/2)=2145 Spiele
    )

    Nun bräuchte ich den Code um den Spielplan zu erstellen. Ich stell mir das so vor:
    Ich bekomme ein Formular in dem ich die 12 Spieler eingebe. Dann sollten alle möglichen Paarungen erscheinen (inkl. der Namen).

    Kriegt das jemand hin?
    Habe zu wenig Programmiererfahrung um das zu lösen. Echt ne harte Nuss...

    Bin auch schon froh um Lösungsansätze...

    vielen Dank

Rechtliches

Impressum

Datenschutzerklärung