Dynamisches Positionieren von Selectboxen

Sonjiru

Grünschnabel
Guten Abend,

ich hätte da mal folgende Frage und zwar habe ich folgenden Grundgedanken (vorweg ich erwarte hier keinen Vollständigen Quellcode nur Denkanstöße wie das funktionieren kann (da ich leider schon lange nichts mehr mit PHP gemacht habe, habe ich schon einiges vergessen.) Nun zu meinem kleinen Problemchen.

Folgende Situation ist gegeben :


Ich möchte ein kleines Aufstellungsscript für einen Fussballmanager erstellen der wie folgt funktionieren soll :

Da habe ich mir gedacht das ich zuerst die Grundpositionen in ein mehrdimensionales Array schreibe dies enthält : (Position, X- Koordinate, Y-Koordinate)



Man kann einstellen wie viele Spieler man pro Position aufstellen will (z.B. 2 IV, 1 RV, 1 LV, 2 ZMF, 1 RMF, 1 LMF 1 OMF 1 MS).

Anhand dieser Daten sollen die Select-Boxen dann auch positioniert werden sprich ich brauche 2 IV's also muss ich die X und Y Koordinate der Position ja verändern.

Ich hoffe ihr konntet mir folgen.
 
Hallo Sonjiru und Herzlich Willkommen im Forum!

Selectboxen (bzw. jedes andere HTML-Element) kannst du via CSS ganz genau positionieren:
CSS:
#myElement {
  position: absolute;
  left: 10px;
  top: 20px;
}
Folgendes Problem tritt jetzt auf: willst du für jede Selectbox eine eigene CSS-Klasse erstellen? Bessere wäre es in diesem Fall einfach das style-Attribut des betreffenden Elementes automatisch per PHP zu generieren.



PS: Ich finde es übrigens sehr lobenswert, dass du keine Komplettlösungen erwartest - wie viele andere Neuankömmlinge es hier tun ;)
 
Hallo Sonjiru und Herzlich Willkommen im Forum!

Selectboxen (bzw. jedes andere HTML-Element) kannst du via CSS ganz genau positionieren:
CSS:
#myElement {
  position: absolute;
  left: 10px;
  top: 20px;
}
Folgendes Problem tritt jetzt auf: willst du für jede Selectbox eine eigene CSS-Klasse erstellen? Bessere wäre es in diesem Fall einfach das style-Attribut des betreffenden Elementes automatisch per PHP zu generieren.



PS: Ich finde es übrigens sehr lobenswert, dass du keine Komplettlösungen erwartest - wie viele andere Neuankömmlinge es hier tun ;)

Ich hab da auch schon etwas code gebastelt :

Code:
<?php


error_reporting(E_ALL);
$members_only = 1;
require("global.inc.php");

$aktion_online = "Aufstellung";

$result = mysql_query("SELECT id FROM ".$conf['db_prefix']."_verein WHERE user_id='".$userid."'");
$verein = mysql_fetch_array($result);
mysql_free_result($result);


$isFormSent = !empty($_GET);
$iv = 0;
$rv = 0;
$lv = 0;
$dmf = 0;
$zmf = 0;
$rmf = 0;
$lmf = 0;
$omf = 0;
$la = 0;
$ra = 0 ;
$hs = 0;
$ms = 0;

if ($isFormSent) {
    $iv = (int)$_GET["iv"];
    $rv = (int)$_GET["rv"];
    $lv = (int)$_GET["lv"];
    $dmf = (int)$_GET["dmf"];
    $zmf = (int)$_GET["zmf"];
    $rmf = (int)$_GET["rmf"];
    $lmf = (int)$_GET["lmf"];
    $omf = (int)$_GET["omf"];
    $la  = (int)$_GET["la"];
    $ra  = (int)$_GET["ra"];
    $hs  = (int)$_GET["hs"];
    $ms  = (int)$_GET["f1"];
            
}
if (($iv + $rv + $lv + $dmf + $zmf + $rmf + $lmf + $omf + $la + $ra + $hs + $ms) != 10) {
    $iv = 2;
    $rv = 1;
    $lv = 1;
    $dmf = 2;
    $zmf = 0;
    $lmf = 1;
    $rmf = 1;
    $omf = 1;
    $ra = 0;
    $la = 0;
    $hs = 0;
    $ms = 1;
}

?>
<html>
<head>
        <title>LFM Aufstellung</title>
        
        <script type="text/javascript">
        // <![CDATA[
            
            function freigabeSubmitButton() {
                var iv = document.getElementsByName("iv")[0];
                var lv = document.getElementsByName("lv")[0];
                var rv = document.getElementsByName("rv")[0];
                var dmf = document.getElementsByName("dmf")[0];
                var zmf = document.getElementsByName("zmf")[0];
                var rmf = document.getElementsByName("rmf")[0];
                var lmf = document.getElementsByName("lmf")[0];
                var omf = document.getElementsByName("omf")[0];
                var hs = document.getElementsByName("hs")[0];
                var la = document.getElementsByName("la")[0];
                var ra = document.getElementsByName("ra")[0];
                var ms = document.getElementsByName("ms")[0];

                var anzahl     = iv.selectedIndex + rv.selectedIndex + lv.selectedIndex + dmf.selectedIndex + zmf.selectedIndex + rmf.selectedIndex + lmf.selectedIndex +omf.selectedIndex + la.selectedIndex + ra.selectedIndex + hs.selectedIndex + ms.selectedIndex;
                
                document.getElementById("btnSubmit").disabled = (anzahl != 10);
                
                return true;
            }
            
        // ]]>
        </script>
    </head>
    <body>
        <form action="aufstellung.php" method="get">
             <b>IV</b><select name="iv" onchange="return freigabeSubmitButton()">
                <?php foreach (range(0, 2) as $anzahl): ?>
                <option value="<?php echo $anzahl ?>"<?php if ($anzahl == $iv): ?> selected="selected"<?php endif; ?>><?php echo $anzahl ?></option>
                <?php endforeach; ?>
            </select>
            <b>RV</b><select name="rv" onchange="return freigabeSubmitButton()">
                <?php foreach (range(0, 1) as $anzahl): ?>
                <option value="<?php echo $anzahl ?>"<?php if ($anzahl == $rv): ?> selected="selected"<?php endif; ?>><?php echo $anzahl ?></option>
                <?php endforeach; ?>
            </select>
            <b>LV</b><select name="lv" onchange="return freigabeSubmitButton()">
                <?php foreach (range(0, 1) as $anzahl): ?>
                <option value="<?php echo $anzahl ?>"<?php if ($anzahl == $lv): ?> selected="selected"<?php endif; ?>><?php echo $anzahl ?></option>
                <?php endforeach; ?>
            </select>
            <b>DMF</b><select name="dmf" onchange="return freigabeSubmitButton()">
                <?php foreach (range(0, 4) as $anzahl): ?>
                <option value="<?php echo $anzahl ?>"<?php if ($anzahl == $dmf): ?> selected="selected"<?php endif; ?>><?php echo $anzahl ?></option>
                <?php endforeach; ?>
            </select>
            <b>ZMF</b><select name="zmf" onchange="return freigabeSubmitButton()">
                <?php foreach (range(0, 4) as $anzahl): ?>
                <option value="<?php echo $anzahl ?>"<?php if ($anzahl == $zmf): ?> selected="selected"<?php endif; ?>><?php echo $anzahl ?></option>
                <?php endforeach; ?>
            </select>
            <b>LMF</b><select name="lmf" onchange="return freigabeSubmitButton()">
                <?php foreach (range(0, 1) as $anzahl): ?>
                <option value="<?php echo $anzahl ?>"<?php if ($anzahl == $lmf): ?> selected="selected"<?php endif; ?>><?php echo $anzahl ?></option>
                <?php endforeach; ?>
            </select>
            <b>RMF</b><select name="rmf" onchange="return freigabeSubmitButton()">
                <?php foreach (range(0, 1) as $anzahl): ?>
                <option value="<?php echo $anzahl ?>"<?php if ($anzahl == $rmf): ?> selected="selected"<?php endif; ?>><?php echo $anzahl ?></option>
                <?php endforeach; ?>
            </select>
            <b>OMF</b><select name="omf" onchange="return freigabeSubmitButton()">
                <?php foreach (range(0, 4) as $anzahl): ?>
                <option value="<?php echo $anzahl ?>"<?php if ($anzahl == $omf): ?> selected="selected"<?php endif; ?>><?php echo $anzahl ?></option>
                <?php endforeach; ?>
            </select>
            <b>RA</b><select name="ra" onchange="return freigabeSubmitButton()">
                <?php foreach (range(0, 1) as $anzahl): ?>
                <option value="<?php echo $anzahl ?>"<?php if ($anzahl == $ra): ?> selected="selected"<?php endif; ?>><?php echo $anzahl ?></option>
                <?php endforeach; ?>
            </select>
            <b>LA</b><select name="la" onchange="return freigabeSubmitButton()">
                <?php foreach (range(0, 1) as $anzahl): ?>
                <option value="<?php echo $anzahl ?>"<?php if ($anzahl == $la): ?> selected="selected"<?php endif; ?>><?php echo $anzahl ?></option>
                <?php endforeach; ?>
            </select>
            <b>HS</b><select name="hs" onchange="return freigabeSubmitButton()">
                <?php foreach (range(0, 3) as $anzahl): ?>
                <option value="<?php echo $anzahl ?>"<?php if ($anzahl == $hs): ?> selected="selected"<?php endif; ?>><?php echo $anzahl ?></option>
                <?php endforeach; ?>
            </select>
            <b>MS</b><select name="ms" onchange="return freigabeSubmitButton()">
                <?php foreach (range(0, 3) as $anzahl): ?>
                <option value="<?php echo $anzahl ?>"<?php if ($anzahl == $ms): ?> selected="selected"<?php endif; ?>><?php echo $anzahl ?></option>
                <?php endforeach; ?>
            </select>
            <input id="btnSubmit" type="submit" />
        </form>
        <table width="100%" cellspacing="0" cellpadding="0" border="0">
        <!-- START bl_ms -->
            <tr>
              <td><b>MS</b>        
                   <select name="spieler<? echo $i ?>                
                   <?                      
                   for ($i=0;$i<$ms;$i++) {
                   $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Mittelstuermer' OR position2='Mittelstuermer' OR position3='Mittelstuermer') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrt='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
                   while ($spieler = mysql_fetch_array($result)) {
                   ?>
                   <option value="">  <?
                   echo $spieler['nachname']; ?>
                    <? 
                   }
                   mysql_free_result($result);
                   }
                                  
                   ?>
                   </option>
                   </select>                   
                   </td>
            </tr>
      <!-- END bl_ms -->
        </table>
        <table width="100%" cellspacing="0" cellpadding="0" border="0">
            <tr>
              <!-- START bl_la --> <td><b>LA</b>
                  <select name="spieler<? echo $i ?>               
                   <?                      
                   for ($i=0;$i<$la;$i++) {
                   $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Linker Aussenstuermer' OR position2='Linker Aussenstuermer' OR position3='Linker Aussenstuermer') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrt='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
                   while ($spieler = mysql_fetch_array($result)) {
                   ?>
                   <option value="">  <?
                   echo $spieler['nachname']; ?>
                    <? 
                   }
                   mysql_free_result($result);
                   }
                                  
                   ?>
                   </option>
                   </select>   
              </td>
              <!-- END bl_la -->
              <!-- START bl_hs --><td><b>HS</b>
                    <select name="spieler<? echo $i ?>             
                   <?                      
                   for ($i=0;$i<$hs;$i++) {
                   $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Haengende Spitze' OR position2='Haengende Spitze' OR position3='Haengende Spitze') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrt='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
                   while ($spieler = mysql_fetch_array($result)) {
                   ?>
                   <option value="">  <?
                   echo $spieler['nachname']; ?>
                    <? 
                   }
                   mysql_free_result($result);
                   }
                                  
                   ?>
                   </option>
                   </select>   
              </td>
              <!-- END bl_hs --> 
              <!-- START bl_ra --><td><b>RA</b>
                    <select name="spieler<? echo $i ?>               
                   <?                      
                   for ($i=0;$i<$ra;$i++) {
                   $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE(position='Rechter Aussenstuermer' OR position2='Rechter Aussenstuermer' OR position3='Rechter Aussenstuermer') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrt='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
                   while ($spieler = mysql_fetch_array($result)) {
                   ?>
                   <option value="">  <?
                   echo $spieler['nachname']; ?>
                    <? 
                   }
                   mysql_free_result($result);
                   }
                                  
                   ?>
                   </option>
                   </select>   
              </td>
              <!-- END bl_ra -->
            </tr>
        </table>
        <table width="100%" cellspacing="0" cellpadding="0" border="0">
            <tr>
              <!-- START bl_omf --><td><b>OMF</b>
                    <select name="spieler<? echo $i ?>               
                   <?                      
                   for ($i=0;$i<$omf;$i++) {
                   $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Offensives Mittelfeld' OR position2='Offensives Mittelfeld' OR position3='Offensives Mittelfeld') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrt='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
                   while ($spieler = mysql_fetch_array($result)) {
                   ?>             
                   <option value="">  <?
                   echo $spieler['nachname']; ?>
                    <? 
                   }
                   mysql_free_result($result);
                   }
                                  
                   ?>
                   </option>
                   </select>   
                </td>
                <!-- END bl_omf -->
            </tr>
        </table>
        <table width="100%" cellspacing="0" cellpadding="0" border="0">
            <tr>
              <!-- START bl_lmf --><td><b>LMF</b>
                   <select name="spieler<? echo $i ?>               
                   <?                      
                   for ($i=0;$i<$lmf;$i++) {
                   $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Linkes Mittelfeld' OR position2='Linkes Mittelfeld' OR position3='Linkes Mittelfeld') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrt='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
                   while ($spieler = mysql_fetch_array($result)) {
                   ?>
                   <option value="">  <?
                   echo $spieler['nachname']; ?>
                    <? 
                   }
                   mysql_free_result($result);
                   }
                                  
                   ?>
                   </option>
                   </select>   
              <!-- END bl_lmf --></td>
              <!-- START bl_zmf --><td><b>ZMF</b>
                   <select name="spieler<? echo $i ?>               
                   <?                      
                   for ($i=0;$i<$zmf;$i++) {
                   $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Zentrales Mittelfeld' OR position2='Zentrales Mittelfeld' OR position3='Zentrales Mittelfeld') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrt='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
                   while ($spieler = mysql_fetch_array($result)) {
                   ?>
                   <option value="">  <?
                   echo $spieler['nachname']; ?>
                    <? 
                   }
                   mysql_free_result($result);
                   }
                                  
                   ?>
                   </option>
                   </select>   
              </td>
              <!-- END bl_zmf --> 
              <!-- START bl_rmf --><td><b>RMF</b>  <select name="spieler<? echo $i ?>                
                   <?                      
                   for ($i=0;$i<$rmf;$i++) {
                   $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Rechtes Mittelfeld' OR position2='Rechtes Mittelfeld' OR position3='Rechtes Mittelfeld')' AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrt='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
                   while ($spieler = mysql_fetch_array($result)) {
                   ?>                
                   <option value="">  <?
                   echo $spieler['nachname']; ?>
                    <? 
                   }
                   mysql_free_result($result);
                   }
                                  
                   ?>
                   </option>
                   </select>   
                </td><!-- END bl_rmf -->
            </tr>
        </table>
        <table width="100%" cellspacing="0" cellpadding="0" border="0">
            <tr>
              <!-- START bl_dmf --><td><b>DMF</b>  <select name="spieler<? echo $i ?>                
                   <?                      
                   for ($i=0;$i<$dmf;$i++) {
                   $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Defensives Mittelfeld' OR position2='Defensives Mittelfeld' OR position3='Defensives Mittelfeld') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrt='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
                   while ($spieler = mysql_fetch_array($result)) {
                   ?>                                    
                   <option value="">  <?
                   echo $spieler['nachname']; ?>
                    <? 
                   }
                   mysql_free_result($result);
                   }
                                  
                   ?>
                   </option>
                   </select>   
              </td><!-- END bl_dmf --> 
            </tr>

        </table>  
        <table width="100%" cellspacing="0" cellpadding="0" border="0">
            <tr>
              <!-- START bl_lv --><td><b>LV</b>  <select name="spieler<? echo $i ?>               
                   <?                      
                   for ($i=0;$i<$lv;$i++) {
                   $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Linker Verteidiger' OR position2='Linker Verteidiger' OR position3='Linker Verteidiger') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrt='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
                   while ($spieler = mysql_fetch_array($result)) {
                   ?>       
                   <option value="">  <?
                   echo $spieler['nachname']; ?>
                    <? 
                   }
                   mysql_free_result($result);
                   }
                                  
                   ?>
                   </option>
                   </select>   
              </td><!-- END bl_lv -->
              <!-- START bl_iv --><td><b>IV</b>  <select name="spieler<? echo $i ?>              
                   <?                      
                   for ($i=0;$i<$iv;$i++) {
                   $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Innenverteidiger' OR position2='Innenverteidiger' OR position3='Innenverteidiger') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrt='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
                   while ($spieler = mysql_fetch_array($result)) {
                   ?>      
                   <option value="">  <?
                   echo $spieler['nachname']; ?>
                    <? 
                   }
                   mysql_free_result($result);
                   }
                                  
                   ?>
                   </option>
                   </select>   
              </td>
              <!-- END bl_iv --> 
              
              <!-- START bl_rv --><td><b>RV</b>  <select name="spieler<? echo $i ?>                
                   <?                      
                   for ($i=0;$i<$rv;$i++) {
                   $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Rechter Verteidiger' OR position2='Rechter Verteidiger' OR position3='Rechter Verteidiger') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrt='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
                   while ($spieler = mysql_fetch_array($result)) {
                   ?>     
                   <option value="">  <?
                   echo $spieler['nachname']; ?>
                    <? 
                   }
                   mysql_free_result($result);
                   }
                                  
                   ?>
                   </option>
                   </select>   
                </td><!-- END bl_rv -->
            </tr>
              </td>
        </table>
             <table width="100%" cellspacing="0" cellpadding="0" border="0">
                <tr>
                  <td align="center">
                    <select name="spieler_11" class="klein">
                  <?                      
                   for ($i=0;$i<$rv;$i++) {
                   $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Torwart' OR position2='Torwart' OR position3='Torwart') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrt='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
                   while ($spieler = mysql_fetch_array($result)) {
                   ?>
                   <option value="">  <?
                   echo $spieler['nachname']; ?>
                    <? 
                   }
                   mysql_free_result($result);
                   }
                                  
                   ?>
                   </option>
                    </select>
                  </td>
                </tr>
              </table>
   </body>

<?

require("output.inc.php");

?>

Das Problem an diesem Script ist derzeit folgendes:

Ich wähle z.B. 2 MS aus dennoch wird nur eine Selectbox erstellt.
Die Positionierung der genauen Positionen muss natürlich besser vorgenommen werden das ist mir bewusst aber da scheint es ja mit CSS eine gute Lösung zu geben.

Also werde ich bei jeder Position ein Style Attribut erstellen müssen wenn ich dich richtig verstanden habe? In diesem Style Attribut dann die Koordinaten festlegen.

Dann würde ja "nur" noch das Problem bestehen mit der mehrfach Auswahl :)


Edit :

Danke für die Willkommensgrüße

Naja PHP ist eben Learning by Doing was bringt es mir wenn mir jemand den Code bastelt? mE nach nichts. Wenn man mir Denkanstöße gibt wie man dieses und jenes programmieren kann wäre mir viiel mehr geholfen (da ich wie gesagt noch nicht so gut in PHP bin, ich denke das kommt dann auch mit der Zeit).

Zudem macht es doch viel mehr Spaß den Code selber zu schreiben und auch zu verstehen :)


Edit2 :

Eine Idee meinerseits wäre folgendermaßen :

Den ganzen HTML Code in ein Template System unterzugliedern (da das ganze auf einer Software aufbaut bin ich gezwungen das FXL_Template zu benutzen (kein Problem mit dem habe ich mich schon länger befasst und habe das auch verstanden)

Dann habe ich ja mehrere Fälle

Wenn IV Auswahl größer als 1 ist dann will ich auch das die IV Position angezeigt wird. Da ja die <td> für die Zeilen in einem TR zuständig sind habe ich mir folgendes gedacht : Ich gebe dem <td> ein ausgerechnete breite (die sich wie folgt errechnet : spaltenbreite = 100 / anzahl_position (bei 2 IV's wären das dann 50%) sollte ja denke ich funktionieren.

Wie findet Ihr diesen Ansatz oder habt ihr bessere Lösungen?


Edit die dritte :

Statt hier faul auf Antworten zu warten habe ich einfach mal meinen Ansatz ausprobiert :

Code:
if ($ms >= 1) {
  

  	
  
  $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Mittelstuermer' OR position2 ='Mittelstuermer' OR position3='Mittelstuermer') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrtcl='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
  while ($spieler = mysql_fetch_array($result)) {

    $row_ms = $tpl_inhalt->getblock("row_ms");

    $spieler_name = ($spieler['kunstname']) ? $spieler['kunstname'] : substr($spieler['vorname'],0,1).". ". $spieler['nachname'];

    if($ms > 1) {
    
    $spaltenbreite = round(100/$ms);
    
    }

    $row_ms->assign(array(
      "spieler_id"=>$spieler['id'],
      "spieler_name"=>stripslashes($spieler_name),
      "spaltenbreite"=>$spaltenbreite
    ));
    
    echo "Spaltenbreite : $spaltenbreite <br />";

    if ($spieler['id'] == $aufstellung['spieler11']) $row_ms->assign_block("sp_selected");

    $tpl_inhalt->assign("row_ms",$row_ms);
    $row_ms->clear();

  }

  mysql_free_result($result);
  
  
  }

Im TPL sieht das ganze nun so aus :

Code:
  <table width="100%" cellspacing="0" cellpadding="0" border="0">
            <tr>
              <td width="{spaltenbreite}%" align="center">
              <b>MS</b>              
                    <select name="spieler_{nummer}" class="klein">
                      <option></option>
                       <!-- START row_ms -->
                        <option value="{spieler_id}"<!-- START ms_selected --> selected<!-- END ms_selected --> class="klein">{spieler_name}</option><!-- END row_ms -->
                    </select>                               
              </td>
            </tr>
        </table>

Leider wird die zweite Selectbox nicht erzeugt :(

Edit die vierte :

Es geht in großem Schritten den Ende entgegen :

Das ist der derzeitige PHP Code

Code:
<?php


error_reporting(E_ALL);
$members_only = 1;
require("global.inc.php");

$aktion_online = "Aufstellung";

$tpl_inhalt = new fxl_template("templates/aufstellung.tpl");


$result = mysql_query("SELECT id FROM ".$conf['db_prefix']."_verein WHERE user_id='".$userid."'");
$verein = mysql_fetch_array($result);
mysql_free_result($result);


$isFormSent = !empty($_GET);
$iv = 0;
$rv = 0;
$lv = 0;
$dmf = 0;
$zmf = 0;
$rmf = 0;
$lmf = 0;
$omf = 0;
$la = 0;
$ra = 0 ;
$hs = 0;
$ms = 0;

if ($isFormSent) {
    $iv = (int)$_GET["f1"];
    $rv = (int)$_GET["f2"];
    $lv = (int)$_GET["f3"];
    $dmf = (int)$_GET["f4"];
    $zmf = (int)$_GET["f5"];
    $rmf = (int)$_GET["f6"];
    $lmf = (int)$_GET["f7"];
    $omf = (int)$_GET["f8"];
    $la  = (int)$_GET["f9"];
    $ra  = (int)$_GET["f10"];
    $hs  = (int)$_GET["f11"];
    $ms  = (int)$_GET["f12"];
            
}
if (($iv + $rv + $lv + $dmf + $zmf + $rmf + $lmf + $omf + $la + $ra + $hs + $ms) != 10) {
    $iv = 2;
    $rv = 1;
    $lv = 1;
    $dmf = 2;
    $zmf = 0;
    $lmf = 1;
    $rmf = 1;
    $omf = 1;
    $ra = 0;
    $la = 0;
    $hs = 0;
    $ms = 1;
}

      
    for ($n=1; $n<=12; $n++) {

    for ($i=0; $i<=6; $i++) {

      $var = "f".$n;
      $varname = $$var;

      $row = $tpl_inhalt->getblock("row_f".$n);

      $row->assign("i_f".$n,$i);

      if ($i == $varname) $row->assign_block("f".$n."_selected");

      $tpl_inhalt->assign("row_f".$n,$row);
      $row->clear();

    }

  }
 

 //Mittelstürmer
 for ($erstelle_zeilen=1; $erstelle_zeilen<=$ms; $erstelle_zeilen++) { 
 
 if ($ms >= 1) {
 
 $anzahl_zeilen = $ms;
 
 if ($anzahl_zeilen >= 1) {
 
 $spaltenbreite = round(100/$anzahl_zeilen);
 
 $row_spaltenms = $tpl_inhalt->getblock("row_spaltenms");
 $row_spaltenms->assign(array(
   "spaltenbreite"=>$spaltenbreite
 ));
 
}
  
 
    
  
  $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Mittelstuermer' OR position2 ='Mittelstuermer' OR position3='Mittelstuermer') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrtcl='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
  while ($spieler = mysql_fetch_array($result)) {
 
    $row_ms = $row_spaltenms->getblock("row_ms");
 
    $spieler_name = ($spieler['kunstname']) ? $spieler['kunstname'] : substr($spieler['vorname'],0,1).". ". $spieler['nachname'];
 
    if($ms > 1) {
    
    $spaltenbreite = round(100/$ms);
    
    }
 
    $row_ms->assign(array(
      "spieler_id"=>$spieler['id'],
      "spieler_name"=>stripslashes($spieler_name)
    ));
     
    if ($spieler['id'] == $aufstellung['spieler11']) $row_ms->assign_block("sp_selected");
 
    $row_spaltenms->assign("row_ms",$row_ms);
    $row_ms->clear();
 
  }
  
  mysql_free_result($result);
  
  }
  
  $tpl_inhalt->assign("row_spaltenms",$row_spaltenms);
  $row_spaltenms->clear();
  
  }
  
  // Mittelstürmer
  
   //Hängende Spitze
 for ($erstelle_zeilen=1; $erstelle_zeilen<=$hs; $erstelle_zeilen++) { 
 
 if ($hs >= 1) {
 
 $anzahl_zeilen = $hs;
 
 if ($anzahl_zeilen >= 1) {
 
 $spaltenbreite = round(100/$anzahl_zeilen);
 
 $row_spaltenhs = $tpl_inhalt->getblock("row_spaltenhs");
 $row_spaltenhs->assign(array(
   "spaltenbreite"=>$spaltenbreite
 ));
 
}
  
 
    
  
  $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Haengende Spitze' OR position2 ='Haengende Spitze' OR position3='Haengende Spitze') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrtcl='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
  while ($spieler = mysql_fetch_array($result)) {
 
    $row_hs = $row_spaltenhs->getblock("row_hs");
 
    $spieler_name = ($spieler['kunstname']) ? $spieler['kunstname'] : substr($spieler['vorname'],0,1).". ". $spieler['nachname'];
 
    if($hs > 1) {
    
    $spaltenbreite = round(100/$hs);
    
    }
 
    $row_hs->assign(array(
      "spieler_id"=>$spieler['id'],
      "spieler_name"=>stripslashes($spieler_name)
    ));
     
    if ($spieler['id'] == $aufstellung['spieler11']) $row_ms->assign_block("sp_selected");
 
    $row_spaltenhs->assign("row_hs",$row_hs);
    $row_hs->clear();
 
  }
  
  mysql_free_result($result);
  
  }
  
  $tpl_inhalt->assign("row_spaltenhs",$row_spaltenhs);
  $row_spaltenhs->clear();
  
  }
  
  // Hängende Spitze
  
  // Linker Aussenstuermer

 for ($erstelle_zeilen=1; $erstelle_zeilen<=$la; $erstelle_zeilen++) { 
 
 if ($la >= 1) {
 
 $anzahl_zeilen = $la;
 
 if ($anzahl_zeilen >= 1) {
 
 $spaltenbreite = round(100/$anzahl_zeilen);
 
 $row_spaltenla = $tpl_inhalt->getblock("row_spaltenla");
 $row_spaltenla->assign(array(
   "spaltenbreite"=>$spaltenbreite
 ));
 
}
  
 
    
  
  $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Linker Aussenstuermer' OR position2 ='Linker Aussenstuermer' OR position3='Linker Aussenstuermer') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrtcl='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
  while ($spieler = mysql_fetch_array($result)) {
 
    $row_la = $row_spaltenla->getblock("row_la");
 
    $spieler_name = ($spieler['kunstname']) ? $spieler['kunstname'] : substr($spieler['vorname'],0,1).". ". $spieler['nachname'];
 
    if($la > 1) {
    
    $spaltenbreite = round(100/$la);
    
    }
 
    $row_la->assign(array(
      "spieler_id"=>$spieler['id'],
      "spieler_name"=>stripslashes($spieler_name)
    ));
     
    if ($spieler['id'] == $aufstellung['spieler11']) $row_ms->assign_block("sp_selected");
 
    $row_spaltenla->assign("row_la",$row_la);
    $row_la->clear();
 
  }
  
  mysql_free_result($result);
  
  }
  
  $tpl_inhalt->assign("row_spaltenla",$row_spaltenla);
  $row_spaltenla->clear();
  
  }

  // Ende Linker Aussenstuermer
  
    // Linker Aussenstuermer

 for ($erstelle_zeilen=1; $erstelle_zeilen<=$ra; $erstelle_zeilen++) { 
 
 if ($ra >= 1) {
 
 $anzahl_zeilen = $ra;
 
 if ($anzahl_zeilen >= 1) {
 
 $spaltenbreite = round(100/$anzahl_zeilen);
 
 $row_spaltenra = $tpl_inhalt->getblock("row_spaltenra");
 $row_spaltenra->assign(array(
   "spaltenbreite"=>$spaltenbreite
 ));
 
}
  
 
    
  
  $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Rechter Aussenstuermer' OR position2 ='Rechter Aussenstuermer' OR position3='Rechter Aussenstuermer') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrtcl='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
  while ($spieler = mysql_fetch_array($result)) {
 
    $row_ra = $row_spaltenra->getblock("row_ra");
 
    $spieler_name = ($spieler['kunstname']) ? $spieler['kunstname'] : substr($spieler['vorname'],0,1).". ". $spieler['nachname'];
 
    if($ra > 1) {
    
    $spaltenbreite = round(100/$la);
    
    }
 
    $row_ra->assign(array(
      "spieler_id"=>$spieler['id'],
      "spieler_name"=>stripslashes($spieler_name)
    ));
     
    if ($spieler['id'] == $aufstellung['spieler11']) $row_ra->assign_block("sp_selected");
 
    $row_spaltenra->assign("row_ra",$row_ra);
    $row_ra->clear();
 
  }
  
  mysql_free_result($result);
  
  }
  
  $tpl_inhalt->assign("row_spaltenra",$row_spaltenra);
  $row_spaltenra->clear();
  
  }

  // Ende Rechter Aussenstuermer

  
  //Offensives Mittelfeld
 for ($erstelle_zeilen=1; $erstelle_zeilen<=$omf; $erstelle_zeilen++) { 
 
 if ($omf >= 1) {
 
 $anzahl_zeilen = $omf;
 
 if ($anzahl_zeilen >= 1) {
 
 $spaltenbreite = round(100/$anzahl_zeilen);
 
 $row_spaltenomf = $tpl_inhalt->getblock("row_spaltenomf");
 $row_spaltenomf->assign(array(
   "spaltenbreite"=>$spaltenbreite
 ));
 
}
  
 
    
  
  $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Offensives Mittelfeld' OR position2 ='Offensives Mittelfeld' OR position3='Offensives Mittelfeld') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrtcl='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
  while ($spieler = mysql_fetch_array($result)) {
 
    $row_omf = $row_spaltenomf->getblock("row_omf");
 
    $spieler_name = ($spieler['kunstname']) ? $spieler['kunstname'] : substr($spieler['vorname'],0,1).". ". $spieler['nachname'];
 
    if($omf > 1) {
    
    $spaltenbreite = round(100/$omf);
    
    }
 
    $row_omf->assign(array(
      "spieler_id"=>$spieler['id'],
      "spieler_name"=>stripslashes($spieler_name),
      "spaltenbreite"=>$spaltenbreite
    ));
     
    if ($spieler['id'] == $aufstellung['spieler11']) $row_omf->assign_block("sp_selected");
 
    $row_spaltenomf->assign("row_omf",$row_omf);
    $row_omf->clear();
 
  }
  
  mysql_free_result($result);
  
  }
  
  $tpl_inhalt->assign("row_spaltenomf",$row_spaltenomf);
  $row_spaltenomf->clear();
  
  }
  
  // Offensives Mittelfeld
  
  //Linkes Mittelfeld
 for ($erstelle_zeilen=1; $erstelle_zeilen<=$lmf; $erstelle_zeilen++) { 
 
 if ($lmf >= 1) {
 
 $anzahl_zeilen = $lmf;
 
 if ($anzahl_zeilen >= 1) {
 
 $spaltenbreite = round(100/$anzahl_zeilen);
 
 $row_spaltenlmf = $tpl_inhalt->getblock("row_spaltenlmf");
 $row_spaltenlmf->assign(array(
   "spaltenbreite"=>$spaltenbreite
 ));
 
}
  
 
    
  
  $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Linkes Mittelfeld' OR position2 ='Linkes Mittelfeld' OR position3='Linkes Mittelfeld') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrtcl='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
  while ($spieler = mysql_fetch_array($result)) {
 
    $row_lmf = $row_spaltenlmf->getblock("row_lmf");
 
    $spieler_name = ($spieler['kunstname']) ? $spieler['kunstname'] : substr($spieler['vorname'],0,1).". ". $spieler['nachname'];
 
    if($lmf > 1) {
    
    $spaltenbreite = round(100/$lmf);
    
    }
 
    $row_lmf->assign(array(
      "spieler_id"=>$spieler['id'],
      "spieler_name"=>stripslashes($spieler_name),
      "spaltenbreite"=>$spaltenbreite
    ));
     
    if ($spieler['id'] == $aufstellung['spieler11']) $row_omf->assign_block("sp_selected");
 
    $row_spaltenlmf->assign("row_lmf",$row_lmf);
    $row_lmf->clear();
 
  }
  
  mysql_free_result($result);
  
  }
  
  $tpl_inhalt->assign("row_spaltenlmf",$row_spaltenlmf);
  $row_spaltenlmf->clear();
  
  }
  
  // Linkes Mittelfeld
  
   //Rechtes Mittelfeld
 for ($erstelle_zeilen=1; $erstelle_zeilen<=$rmf; $erstelle_zeilen++) { 
 
 if ($rmf >= 1) {
 
 $anzahl_zeilen = $rmf;
 
 if ($anzahl_zeilen >= 1) {
 
 $spaltenbreite = round(100/$anzahl_zeilen);
 
 $row_spaltenrmf = $tpl_inhalt->getblock("row_spaltenrmf");
 $row_spaltenrmf->assign(array(
   "spaltenbreite"=>$spaltenbreite
 ));
 
}
  
 
    
  
  $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Rechtes Mittelfeld' OR position2 ='Rechtes Mittelfeld' OR position3='Rechtes Mittelfeld') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrtcl='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
  while ($spieler = mysql_fetch_array($result)) {
 
    $row_rmf = $row_spaltenrmf->getblock("row_rmf");
 
    $spieler_name = ($spieler['kunstname']) ? $spieler['kunstname'] : substr($spieler['vorname'],0,1).". ". $spieler['nachname'];
 
    if($rmf > 1) {
    
    $spaltenbreite = round(100/$rmf);
    
    }
 
    $row_rmf->assign(array(
      "spieler_id"=>$spieler['id'],
      "spieler_name"=>stripslashes($spieler_name),
      "spaltenbreite"=>$spaltenbreite
    ));
     
    if ($spieler['id'] == $aufstellung['spieler11']) $row_omf->assign_block("sp_selected");
 
    $row_spaltenrmf->assign("row_rmf",$row_rmf);
    $row_rmf->clear();
 
  }
  
  mysql_free_result($result);
  
  }
  
  $tpl_inhalt->assign("row_spaltenrmf",$row_spaltenrmf);
  $row_spaltenrmf->clear();
  
  }
  
  // Rechtes Mittelfeld
  
  
  //Zentrales Mittelfeld
 for ($erstelle_zeilen=1; $erstelle_zeilen<=$zmf; $erstelle_zeilen++) { 
 
 if ($zmf >= 1) {
 
 $anzahl_zeilen = $zmf;
 
 if ($anzahl_zeilen >= 1) {
 
 $spaltenbreite = round(100/$anzahl_zeilen);
 
 $row_spaltenzmf = $tpl_inhalt->getblock("row_spaltenzmf");
 $row_spaltenzmf->assign(array(
   "spaltenbreite"=>$spaltenbreite
 ));
 
}
  
 
    
  
  $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Zentrales Mittelfeld' OR position2 ='Zentrales Mittelfeld' OR position3='Zentrales Mittelfeld') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrtcl='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
  while ($spieler = mysql_fetch_array($result)) {
 
    $row_zmf = $row_spaltenmf->getblock("row_zmf");
 
    $spieler_name = ($spieler['kunstname']) ? $spieler['kunstname'] : substr($spieler['vorname'],0,1).". ". $spieler['nachname'];
 
    if($zmf > 1) {
    
    $spaltenbreite = round(100/$zmf);
    
    }
 
    $row_zmf->assign(array(
      "spieler_id"=>$spieler['id'],
      "spieler_name"=>stripslashes($spieler_name),
      "spaltenbreite"=>$spaltenbreite
    ));
     
    if ($spieler['id'] == $aufstellung['spieler11']) $row_zmf->assign_block("sp_selected");
 
    $row_spaltenzmf->assign("row_zmf",$row_zmf);
    $row_zmf->clear();
 
  }
  
  mysql_free_result($result);
  
  }
  
  $tpl_inhalt->assign("row_spaltenzmf",$row_spaltenzmf);
  $row_spaltenzmf->clear();
  
  }
  
  // Zentrales Mittelfeld
  
  //Defensives Mittelfeld
 for ($erstelle_zeilen=1; $erstelle_zeilen<=$dmf; $erstelle_zeilen++) { 
 
 if ($dmf >= 1) {
 
 $anzahl_zeilen = $dmf;
 
 if ($anzahl_zeilen >= 1) {
 
 $spaltenbreite = round(100/$anzahl_zeilen);
 
 $row_spaltendmf = $tpl_inhalt->getblock("row_spaltendmf");
 $row_spaltendmf->assign(array(
   "spaltenbreite"=>$spaltenbreite
 ));
 
}
  
 
    
  
  $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Defensives Mittelfeld' OR position2 ='Defensives Mittelfeld' OR position3='Defensives Mittelfeld') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrtcl='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
  while ($spieler = mysql_fetch_array($result)) {
 
    $row_dmf = $row_spaltendmf->getblock("row_dmf");
 
    $spieler_name = ($spieler['kunstname']) ? $spieler['kunstname'] : substr($spieler['vorname'],0,1).". ". $spieler['nachname'];
 
    if($dmf > 1) {
    
    $spaltenbreite = round(100/$dmf);
    
    }
 
    $row_dmf->assign(array(
      "spieler_id"=>$spieler['id'],
      "spieler_name"=>stripslashes($spieler_name),
      "spaltenbreite"=>$spaltenbreite
    ));
     
    if ($spieler['id'] == $aufstellung['spieler11']) $row_dmf->assign_block("sp_selected");
 
    $row_spaltendmf->assign("row_dmf",$row_dmf);
    $row_dmf->clear();
 
  }
  
  mysql_free_result($result);
  
  }
  
  $tpl_inhalt->assign("row_spaltendmf",$row_spaltendmf);
  $row_spaltendmf->clear();
  
  }
  
  // Defensives Mittelfeld
  
   //Linker Verteidiger
 for ($erstelle_zeilen=1; $erstelle_zeilen<=$lv; $erstelle_zeilen++) { 
 
 if ($lv >= 1) {
 
 $anzahl_zeilen = $lv;
 
 if ($anzahl_zeilen >= 1) {
 
 $spaltenbreite = round(100/$anzahl_zeilen);
 
 $row_spaltenlv = $tpl_inhalt->getblock("row_spaltenlv");
 $row_spaltenlv->assign(array(
   "spaltenbreite"=>$spaltenbreite
 ));
 
}
  
 
    
  
  $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Linker Verteidiger' OR position2 ='Linker Verteidiger' OR position3='Linker Verteidiger') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrtcl='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
  while ($spieler = mysql_fetch_array($result)) {
 
    $row_lv = $row_spaltenlv->getblock("row_lv");
 
    $spieler_name = ($spieler['kunstname']) ? $spieler['kunstname'] : substr($spieler['vorname'],0,1).". ". $spieler['nachname'];
 
    if($lv > 1) {
    
    $spaltenbreite = round(100/$lv);
    
    }
 
    $row_lv->assign(array(
      "spieler_id"=>$spieler['id'],
      "spieler_name"=>stripslashes($spieler_name),
      "spaltenbreite"=>$spaltenbreite
    ));
     
    if ($spieler['id'] == $aufstellung['spieler11']) $row_lv->assign_block("sp_selected");
 
    $row_spaltenlv->assign("row_lv",$row_lv);
    $row_lv->clear();
 
  }
  
  mysql_free_result($result);
  
  }
  
  $tpl_inhalt->assign("row_spaltenlv",$row_spaltenlv);
  $row_spaltenlv->clear();
  
  }
  
  // Linker Verteidiger
  
   //Rechter Verteidiger
 for ($erstelle_zeilen=1; $erstelle_zeilen<=$rv; $erstelle_zeilen++) { 
 
 if ($rv >= 1) {
 
 $anzahl_zeilen = $rv;
 
 if ($anzahl_zeilen >= 1) {
 
 $spaltenbreite = round(100/$anzahl_zeilen);
 
 $row_spaltenrv = $tpl_inhalt->getblock("row_spaltenrv");
 $row_spaltenrv->assign(array(
   "spaltenbreite"=>$spaltenbreite
 ));
 
}
  
 
    
  
  $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Rechter Verteidiger' OR position2 ='Rechter Verteidiger' OR position3='Rechter Verteidiger') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrtcl='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
  while ($spieler = mysql_fetch_array($result)) {
 
    $row_rv = $row_spaltenrv->getblock("row_rv");
 
    $spieler_name = ($spieler['kunstname']) ? $spieler['kunstname'] : substr($spieler['vorname'],0,1).". ". $spieler['nachname'];
 
    if($rv > 1) {
    
    $spaltenbreite = round(100/$rv);
    
    }
 
    $row_rv->assign(array(
      "spieler_id"=>$spieler['id'],
      "spieler_name"=>stripslashes($spieler_name),
      "spaltenbreite"=>$spaltenbreite
    ));
     
    if ($spieler['id'] == $aufstellung['spieler11']) $row_rv->assign_block("sp_selected");
 
    $row_spaltenrv->assign("row_rv",$row_rv);
    $row_rv->clear();
 
  }
  
  mysql_free_result($result);
  
  }
  
  $tpl_inhalt->assign("row_spaltenrv",$row_spaltenrv);
  $row_spaltenrv->clear();
  
  }
  
  // Rechter Verteidiger
  
   //Innenverteidiger
 for ($erstelle_zeilen=1; $erstelle_zeilen<=$iv; $erstelle_zeilen++) { 
 
 if ($iv >= 1) {
 
 $anzahl_zeilen = $iv;
 
 if ($anzahl_zeilen >= 1) {
 
 $spaltenbreite = round(100/$anzahl_zeilen);
 
 $row_spalteniv = $tpl_inhalt->getblock("row_spalteniv");
 $row_spalteniv->assign(array(
   "spaltenbreite"=>$spaltenbreite
 ));
 
}
  
 
    
  
  $result = mysql_query("SELECT id,vorname,nachname,kunstname FROM ".$conf['db_prefix']."_spieler WHERE (position='Innenverteidiger' OR position2 ='Innenverteidiger' OR position3='Innenverteidiger') AND verein_id='".$verein['id']."' AND verein_id > '0' AND verletzt='0' AND gesperrtcl='0' AND status='1' ORDER BY nachname ASC, kunstname ASC");
  while ($spieler = mysql_fetch_array($result)) {
 
    $row_iv = $row_spalteniv->getblock("row_iv");
 
    $spieler_name = ($spieler['kunstname']) ? $spieler['kunstname'] : substr($spieler['vorname'],0,1).". ". $spieler['nachname'];
 
    if($iv > 1) {
    
    $spaltenbreite = round(100/$iv);
    
    }
 
    $row_iv->assign(array(
      "spieler_id"=>$spieler['id'],
      "spieler_name"=>stripslashes($spieler_name),
      "spaltenbreite"=>$spaltenbreite
    ));
     
    if ($spieler['id'] == $aufstellung['spieler11']) $row_iv->assign_block("sp_selected");
 
    $row_spalteniv->assign("row_iv",$row_iv);
    $row_iv->clear();
 
  }
  
  mysql_free_result($result);
  
  }
  
  $tpl_inhalt->assign("row_spalteniv",$row_spalteniv);
  $row_spalteniv->clear();
  
  }
  
  // Innenverteidiger
  
  //Torwart
  $result = mysql_query("SELECT * FROM ws_spieler WHERE position='Torwart' AND verein_id='".$verein['id']."' AND verein_id > '0' ORDER BY nachname ASC, kunstname ASC");
  while ($spieler = mysql_fetch_array($result)) {
  
    $row_torwart = $tpl_inhalt->getblock("row_torwart");

    $spieler_name = ($spieler['kunstname']) ? $spieler['kunstname'] : substr($spieler['vorname'],0,1).". ". $spieler['nachname'];


    $row_torwart->assign(array(
      "spieler_id"=>$spieler['id'],
      "spieler_name"=>stripslashes($spieler_name)
    ));

    if ($spieler['id'] == $aufstellung['spieler11']) $row_torwart->assign_block("sp_selected");

    $tpl_inhalt->assign("row_torwart",$row_torwart);
    $row_torwart->clear();

  }

  mysql_free_result($result);
  //-Torwart
  
  
  
  
  
 
  
  
  
                            
    
require("output.inc.php");

?>

Das der HTML Code

Code:
<html>
<head>
        <title>POS - Aufstellung</title>        
        <script type="text/javascript">
        // <![CDATA[
            
            function freigabeSubmitButton() {
                var iv = document.getElementsByName("f1")[0];
                var lv = document.getElementsByName("f2")[0];
                var rv = document.getElementsByName("f3")[0];
                var dmf = document.getElementsByName("f4")[0];
                var zmf = document.getElementsByName("f5")[0];
                var rmf = document.getElementsByName("f6")[0];
                var lmf = document.getElementsByName("f7")[0];
                var omf = document.getElementsByName("f8")[0];
                var hs = document.getElementsByName("f9")[0];
                var la = document.getElementsByName("f10")[0];
                var ra = document.getElementsByName("f11")[0];
                var ms = document.getElementsByName("f12")[0];

                var anzahl     = iv.selectedIndex + rv.selectedIndex + lv.selectedIndex + dmf.selectedIndex + zmf.selectedIndex + rmf.selectedIndex + lmf.selectedIndex +omf.selectedIndex + la.selectedIndex + ra.selectedIndex + hs.selectedIndex + ms.selectedIndex;
                
                document.getElementById("btnSubmit").disabled = (anzahl != 10);
                
                return true;
            }
            
        // ]]>
        </script>
    </head>
    <body>
        <form action="aufstellung.php" method="get">
             <b>IV</b>
             <select name="f1" onchange="return freigabeSubmitButton()">
                 <!-- START row_f1 -->
                <option value="{i_f1}"<!-- START f1_selected --> selected<!-- END f1_selected -->>{i_f1}</option>
                <!-- END row_f1 -->
            </select>
            <b>RV</b>
            <select name="f2" onchange="return freigabeSubmitButton()">
                <!-- START row_f2 -->
                <option value="{i_f2}"<!-- START f2_selected --> selected<!-- END f2_selected -->>{i_f2}</option>
                <!-- END row_f2 -->
            </select>
            <b>LV</b>
            <select name="f3" onchange="return freigabeSubmitButton()">
                <!-- START row_f3 -->
                <option value="{i_f3}"<!-- START f3_selected --> selected<!-- END f3_selected -->>{i_f3}</option>
                <!-- END row_f3 -->
            </select>
            <b>DMF</b>
            <select name="f4" onchange="return freigabeSubmitButton()">
                <!-- START row_f4 -->
                <option value="{i_f4}"<!-- START f4_selected --> selected<!-- END f4_selected -->>{i_f4}</option>
                <!-- END row_f4 -->
            </select>
            <b>ZMF</b>
            <select name="f5" onchange="return freigabeSubmitButton()">
                <!-- START row_f5 -->
                <option value="{i_f5}"<!-- START f5_selected --> selected<!-- END f5_selected -->>{i_f5}</option>
                <!-- END row_f5 -->
            </select>
            <b>LMF</b>
            <select name="f6" onchange="return freigabeSubmitButton()">
                <!-- START row_f6 -->
                <option value="{i_f6}"<!-- START f6_selected --> selected<!-- END f6_selected -->>{i_f6}</option>
                <!-- END row_f6 -->
            </select>
            <b>RMF</b>
            <select name="f7" onchange="return freigabeSubmitButton()">
                <!-- START row_f7 -->
                <option value="{i_f7}"<!-- START f7_selected --> selected<!-- END f7_selected -->>{i_f7}</option>
                <!-- END row_f7 -->
            </select>
            <b>OMF</b>
            <select name="f8" onchange="return freigabeSubmitButton()">
                <!-- START row_f8 -->
                <option value="{i_f8}"<!-- START f8_selected --> selected<!-- END f8_selected -->>{i_f8}</option>
                <!-- END row_f8 -->
            </select>
            <b>RA</b>
            <select name="f9" onchange="return freigabeSubmitButton()">
                <!-- START row_f9 -->
                <option value="{i_f9}"<!-- START f9_selected --> selected<!-- END f9_selected -->>{i_f9}</option>
                <!-- END row_f9 -->
            </select>
            <b>LA</b>
            <select name="f10" onchange="return freigabeSubmitButton()">
                <!-- START row_f10 -->
                <option value="{i_f10}"<!-- START f10_selected --> selected<!-- END f10_selected -->>{i_f10}</option>
                <!-- END row_f10 -->
            </select>
            <b>HS</b>
            <select name="f11" onchange="return freigabeSubmitButton()">
                <!-- START row_f11 -->
                <option value="{i_f11}"<!-- START f11_selected --> selected<!-- END f11_selected -->>{i_f11}</option>
                <!-- END row_f11 -->
            </select>
            <b>MS</b>
            <select name="f12" onchange="return freigabeSubmitButton()">
                <!-- START row_f12 -->
                <option value="{i_f12}"<!-- START f12_selected --> selected<!-- END f12_selected -->>{i_f12}</option>
                <!-- END row_f12 -->
            </select>
            <input id="btnSubmit" type="submit" />
        </form>
            <table width="100%" cellspacing="0" cellpadding="0" border="0">
            <tr>
            <!-- START row_spaltenms -->
              <td width="{spaltenbreite}%" align="center">
              <b>MS</b>              
                    <select name="spieler" class="klein">
                      <option></option>
                       <!-- START row_ms -->
                        <option value="{spieler_id}"<!-- START ms_selected --> selected<!-- END ms_selected --> class="klein">{spieler_name}</option><!-- END row_ms -->
                    </select>                               
              </td>
              <!-- END row_spaltenms -->
            </tr>
        </table>
          <table width="100%" cellspacing="0" cellpadding="0" border="0">
            <tr>
            <!-- START row_spaltenla -->
               <td width="{spaltenbreite}%" align="left">
               <b>LA</b>
                 <select name="spieler" class="klein">
                      <option></option>
                       <!-- START row_la -->
                        <option value="{spieler_id}"<!-- START la_selected --> selected<!-- END la_selected --> class="klein">{spieler_name}</option><!-- END row_la -->
                    </select>   
              </td>
              <!-- END row_spaltenla -->
              <!-- START row_spaltenhs -->             
              <td width="{spaltenbreite}%" align="center">
              <b>HS</b>
                  <select name="spieler" class="klein">
                      <option></option>
                       <!-- START row_hs -->
                        <option value="{spieler_id}"<!-- START hs_selected --> selected<!-- END hs_selected --> class="klein">{spieler_name}</option><!-- END row_hs -->
                    </select>    
              </td>
              <!-- END row_spaltenhs -->
              <!-- START row_spaltenra -->
              <td width="{spaltenbreite}%" align="right"><b>RA</b>
                   <select name="spieler" class="klein">
                      <option></option>
                       <!-- START row_ra -->
                        <option value="{spieler_id}"<!-- START ra_selected --> selected<!-- END ra_selected --> class="klein">{spieler_name}</option><!-- END row_ra -->
                    </select>    
              </td>
              <!-- END row_spaltenra -->
            </tr>
        </table>
        <table width="100%" cellspacing="0" cellpadding="0" border="0">
            <tr>
              <!-- START row_spaltenomf -->
              <td width="{spaltenbreite}%" align="center"><b>OMF</b>
                  <select name="spieler" class="klein">
                      <option></option>
                       <!-- START row_omf -->
                        <option value="{spieler_id}"<!-- START omf_selected --> selected<!-- END omf_selected --> class="klein">{spieler_name}</option><!-- END row_omf -->
                    </select>   
                </td>
                <!-- END row_spaltenomf -->
            </tr>
        </table>
        <table width="100%" cellspacing="0" cellpadding="0" border="0">
            <tr>
            <!-- START row_spaltenlmf -->          
              <td align="left" width="{spaltenbreite}%"><b>LMF</b>
               <select name="spieler" class="klein">
                      <option></option>
                       <!-- START row_lmf -->
                      <option value="{spieler_id}"<!-- START lmf_selected --> selected<!-- END lmf_selected --> class="klein">{spieler_name}</option><!-- END row_lmf -->
                    </select>                   
              </td>
              <!-- END row_spaltenlmf -->
              <!-- START row_spaltenzmf -->
                   <td width="{spaltenbreite}%" align="center"><b>ZMF</b>
                   <select name="spieler" class="klein">
                      <option></option>
                       <!-- START row_zmf -->
                        <option value="{spieler_id}"<!-- START zmf_selected --> selected<!-- END zmf_selected --> class="klein">{spieler_name}</option><!-- END row_zmf -->
                    </select>     
              </td>
              <!-- END row_spaltenzmf -->
              <!-- START row_spaltenrmf --> 
              <td width="{spaltenbreite}%" align="right">
              <b>RMF</b>
            <select name="spieler" class="klein">
                      <option></option>
                       <!-- START row_rmf -->
                        <option value="{spieler_id}"<!-- START rmf_selected --> selected<!-- END rmf_selected --> class="klein">{spieler_name}</option><!-- END row_rmf -->
                    </select>    
                </td>
            <!-- END row_spaltenrmf -->
            </tr>
        </table>
        <table width="100%" cellspacing="0" cellpadding="0" border="0">
            <tr>
              <!-- START row_spaltendmf -->
              <td width="{spaltenbreite}%" align="center"><b>DMF</b>               
               <select name="spieler" class="klein">
                      <option></option>
                       <!-- START row_dmf -->
                        <option value="{spieler_id}"<!-- START dmf_selected --> selected<!-- END dmf_selected --> class="klein">{spieler_name}</option><!-- END row_dmf -->
                    </select>   
              </td>
              <!-- END row_spaltendmf --> 
            </tr>
        </table>  
        <table width="100%" cellspacing="0" cellpadding="0" border="0">
            <tr>
              <!-- START row_spaltenlv -->
              <td width="{spaltenbreite}%" align="left"><b>LV</b> 
              <select name="spieler" class="klein">
                      <option></option>
                       <!-- START row_lv -->
                        <option value="{spieler_id}"<!-- START lv_selected --> selected<!-- END lv_selected --> class="klein">{spieler_name}</option><!-- END row_lv -->
                    </select>   
              </td>
              <!-- END row_spaltenlv -->
              <!-- START row_spalteniv -->
              <td width="{spaltenbreite}%" align="center"><b>IV</b>
              <select name="spieler" class="klein">
                      <option></option>
                       <!-- START row_iv -->
                        <option value="{spieler_id}"<!-- START iv_selected --> selected<!-- END iv_selected --> class="klein">{spieler_name}</option><!-- END row_iv -->
              </select>   
              </td>
              <!-- END row_spalteniv -->      
              <!-- START row_spaltenrv -->           
              <td width="{spaltenbreite}%" align="right"><b>RV</b>
               <select name="spieler" class="klein">
                      <option></option>
                       <!-- START row_rv -->
                        <option value="{spieler_id}"<!-- START rv_selected --> selected<!-- END rv_selected --> class="klein">{spieler_name}</option><!-- END row_rv -->
                    </select>  
                </td><!-- END row_spaltenrv -->
            </tr>
        </table>
             <table width="100%" cellspacing="0" cellpadding="0" border="0">
                <tr>
                  <td align="center">
                  <select name="spieler" class="klein">
                      <option></option>
                       <!-- START row_torwart -->
                        <option value="{spieler_id}"<!-- START torwart_selected --> selected<!-- END torwart_selected --> class="klein">{spieler_name}</option><!-- END row_torwart -->
                    </select> 
                  </td>
                </tr>
              </table>
   </body>

Ich zeige den Fehler am besten mal per Screenshot ich kann den nicht so gut erklären :D

Bug 1 : http://img152.imageshack.us/img152/42/bugnkg.png
Bug 2 : http://img255.imageshack.us/img255/6006/bug1t.png

Wenn man beide Links anklickt erkennt man sehr gut den Fehler meines Scriptes (nur kann ich mir derzeit keine Lösung erklären.)

Und zwar sind die IV'S und die ZM'S einfach nicht zentral wie im anderen Bild der OMF bzw DMF. Ich kann mir das nur so erklären : Der OMF und der DMF stehen in einer eigenen Tabelle bzw in einem eigenen <tr>

der ZMF und der IV steht ja zusammen in einer Tabelle bzw in einer Spalte mit dem LMF und RMF bzw LV und RV.

Meine Frage ist wie kriege ich das so hin das sie dennoch zentral dargestellt werden?

Hätte da noch zweit weitere Fragen :

Und zwar habe ich noch das Problem das nach des Absendender Positionen in den Selectboxen alles wieder auf 0 geht (also statt 2 ausgewählte IV geht es wieder auf 0 zurück). Wie kriege ich das ganze hin das sie abgespeichert werden?


Desweiteren habe ich in der Aufstellungstabelle 12 Felder die von Spieler 1 - Spieler 11 gehen. Spieler11 = reserviert für den Torwart. So wie speichere ich die restlichen 10 Positionen ab? Eine schleife die von 1 - 10 hochzählt geht ja leider nicht. Oder gibt es da noch einen völlig eleganteren bzw. besseren Weg als welchen ich da Vorgeschlagen habe.

Verbesserungsvorschläge zu meinen Ideen + Scripten sind immer gerne gesehen :)
 
Zuletzt bearbeitet:
Zurück