mmofacts.com

Liga script

gepostet vor 18 Jahre, 11 Monate von t-solis
hi,

ich muss vorerst sagen das ich bereits den ganzen tag an diesem problem sitze,

also ich habe eine tabelle mit id und name.
in der tabelle sind z.b. 100 einträge drin.
Nun möchte ich ein script das automatisch eine art liga schreib. also es soll in einer extra tabelle jeder gegen jeden stehen 1 mal.

aber ich hab echt kein plan wie. hat da mal einer eine idee.
gepostet vor 18 Jahre, 11 Monate von Smoochy
$ergebnis1 = mysql_query("SELECT verein FROM vereine");

while ($row1 = mysql_fetch_array($ergebnis1))
{
$ergebnis2 = mysql_query("SELECT verein FROM vereine");
while ($row2 = mysql_fetch_array($ergebnis2))
{
if($row1['verein'] != $row2['verein'])
{
mysql_query("INSERT INTO liga (id, heim, gast) VALUES('', '".$row1['verein']."', '".$row2['verein']."')") ;
}
}
}


btw: ist das hier nicht das fortgeschrittene Entwicklerforum?!
gepostet vor 18 Jahre, 11 Monate von t-solis
ich glaub hab mich falsch geäussert.

das was du mir da geschrieben hast ist ja ganz korrekt. aber war klar.
mein porblem dabei ist z.b.

inhalte der tab
a
b
c
d
e

jetzt macht er ja erst

a b
a c
a d
b c
c d
c e
d e

aber ich hab was gesucht wo er es vielleicht trennen tut.. aber ich muss dann einfach mal wohl noch was einfügen ein wert.
gepostet vor 18 Jahre, 11 Monate von _Jan_
was bitte?!
gepostet vor 18 Jahre, 11 Monate von t-solis
also ich versuchs nochmal..

also ein liga script ist ja klar...

also ich habe eine tabelle wo sich jeder eintragen kann.
nennen wir diese tabelle.x

tabelle x (hat folgende datensätze drin)
a
b
c
d
f
g
h
i

(buchstaben stehen für eine mannschaft)


ein ligascript müsste ja folgendes ausgeben

a b
c d
f g
h i

usw.. jetzt net in der reihenfolge aber so ungefähr.

aber das beispiel was wir oben machen tut ja erst a gegen jeden stellen
dann b gegen alles stellen usw...

aber ich such was, was es so macht wie ich es will.
gepostet vor 18 Jahre, 11 Monate von friedenspanzer
Einfach der Reihe nach auswählen und mittels einer Variablen (ich nenn sie mal "auswaerts") überprüfen ob da schon was steht.

Also: Auswaehlen und dann für jeden Satz diesen Code verwenden

 

while ($result = [mit was immer du Querys sendest])
{
if(!$auswaerts)
{
echo $result['name'];
$auswaerts = true;
}
else
{
echo ' ' . $result['name'] . '
';
$auswaerts = false;
}
}

Konnte es jetzt nicht testen, müsste aber theoretisch funktionieren. Das ist natürlich nur eine Ausgabe, aber ich hab ja keine Ahnung was du damit anstellen willst.
gepostet vor 18 Jahre, 11 Monate von KoMtuR
Ich glaube verstanden zu haben was er meint:

 

$ergebnis = mysql_Query("SELECT `team_id` FROM `vereine` ORDER BY `team_id` ASC");
$vereinsliste = array();
while($row = mysql_fetch_array($ergebnis1)) {
array_push($vereinsliste, $row['team_id']);
}
$tocount =count($vereinsliste) % 2;
for($zaehler=1; $zaehler <= $tocount; $zaehler++) {
array_push($vereinsliste, -1); //-1 bedeutet Freilos
}

$newlist = array();
$newlist = array_chunk($vereinsliste, 2);
.
.
.


Hab den Code nicht getestet, aber der Wichtigste Befehl ist enthalten, damit du zum Ziel kommst (array_chunk)

Edit: dies zählt natürlich nur für den ersten Spieltag. Für die restlichen Teile musste dir dann halt was überlegen
gepostet vor 18 Jahre, 11 Monate von knalli
Willst du selber die Reihenfolge bestimmen, oder einach nur nicht stupide bei a beginnen?

Liga, das hieße doch, mehrere paralellele Spiele., ergo könnte man die Erstauswahl auch zufällig auswählen ^= sortieren, und dann normal weiter "ligen"..
gepostet vor 18 Jahre, 11 Monate von t-solis
naja jungs danke für eure hilfe konnte mit dem einen oder anderen typ weiterkommen hab nun das problem anders gelöst.

im grunde wollte ich nur, dass ein script per zufall bestimmt das jeder gegen jeden spielt.

das will ich nicht für die liga nutzen da ich da bereits ein script besitze.
ich will ein tunier machen indem jeder gegen jeden spielt , und die 16 besten weiterkommen.

dann kommen die 8 besten weiter und etc.

ich dachte das es wenn ich liga script sage es am verständlichen wird.
gepostet vor 18 Jahre, 11 Monate von t-solis
hey klasse thx....

Auf diese Diskussion antworten