Variablennamen dynamisch erzeugen

Schind

Mitglied
hi, ich hab ein problem mit meinen dynamisch erzeugten variablen:

ich habe in einem formular mehrere selectboxen, deren namen folgendermaßen erzeugt werden:
PHP:
<select name="home1<? echo $runde;?>">
	<?php include("teamselect.php"); ?>		
</select>

diese variablen heißen dann eben $home11, $home12 etc.

danach schicke ich das formular an eine andere datei, mit der ich auf die selectboxen wieder zugreifen möchte. dazu muss ich mir die variablennamen aber erst wieder dynamisch erzeugen.
allerdings weiss ich nicht, wie ich das machen soll, habs so probiert:

$heimteam = ${"\$home1" . $runde};

aber das geht nicht.
bitte um hilfe, es ist ziemlich dringend
 
warum gibst du dem select eigentlich so einen komplizierten namen?

mach doch einfach
PHP:
<select name="home1">
  <?php include( "teamselect.php" );?>
</select>

und je nach dem wie du sie überträgst ( get oder post ) machst du halt
$heimteam = $_GET['home1'];
oder halt mit post
$heimteam = $_POST['home1'];

oder ist das <? echo $runde;?> so wichtig?
wenn ja....für was?
 
das <? echo $runde;?> ist gerade das problem dabei.
zur erklärung: es soll eine art spielplan für eine fussballliga werden.

ich hab in einer db stehen, wieviele runden gespielt werden und je nachdem hab ich eine andere anzahl an selectboxen. bei 5 gespielten runden hab ich also 5 selectboxen mit den namen 'home1', 'home2', 'home3', 'home4', 'home5' (und zusätzlich 5 mit awayX, das funktioniert dann genauso).

wenn ich dann auf ok drücke, rufe ich eine andere datei auf, die alle paarungen in die db schreiben soll, und zwar so, dass ich nur eine schleife brauche:
PHP:
while($runde < <runden aus db>)
{
     $heimteam = < das selectfeld mit der nummer $runde >;
     $awayteam = < ... >;
     $sql = "INSERT INTO games VALUES($heimteam, etc.);
}
und nicht extra schreiben muss:
PHP:
$sql = "INSERT INTO games VALUES($home1, etc.);
$sql = "INSERT INTO games VALUES($home2, etc.);
$sql = "INSERT INTO games VALUES($home3, etc.);
.
.
Was eigentlich schwer möglich ist, da ja in der db steht, wieviele runden wirklich gespielt werden.
 
1. übergib halt die runden mittels
PHP:
 <input type="hidden" name="runden" value="<?= $runde;?>>

2. würd ich eine for schleife machen, da die erste runde ja wahrscheinlich immer 1 sein wird machste das dann ungefähr so.
PHP:
for( $i = 1; $i <= $runden; $i++ )
{
     $heimteam = < das selectfeld mit der nummer $runde >;
     $awayteam = < ... >;
     $sql = "INSERT INTO games VALUES($heimteam, etc.);

}

die variable $runden stammt halt von dem vorherigen hidden feld....
 
Zurück